2015-11-28 4 views
-1

Выпадающего список не показывают данные, которые я ввод в базе данныхPHP MySQL не может прочитать данные из базы данных

Product Category: 
<select name="product_cat"> 
    <option>Select a Category</option> 
    <?php 
    $get_cats = "select * from categories"; 
    $run_cats = mysqli_query($con, $get_cats); 
    while ($row_cats=mysqli_fetch_array($run_cats)){ 
     $cat_id = $row_cats['cat_id']; 
     $cat_title = $row_cats['cat_title']; 
     echo "<option>$cat_title</option>"; 
     } 
     ?> 
    </select> 
+0

вы получаете $ cat_title сейчас? если так изменить его на эхо ""; –

ответ

0

Попробуйте следующий код:

<select name="product_cat"> 
    <option value="">Select a Category</option> 
    <?php 
     $get_cats = "select * from categories"; 
     $run_cats = mysqli_query($con, $get_cats); 
     while ($row_cats=mysqli_fetch_array($run_cats)){ 
     //$cat_id = $row_cats['cat_id'];  // no need to put in another variable 
     //$cat_title = $row_cats['cat_title']; // no need to put in another variable 
     echo "<option value='".$row_cats['cat_id']."'>".$row_cats['cat_title']."</option>"; 
     } 
    ?> 
</select> 
+0

Изменяются ли только удаленные переменные? Это должно работать и оригинальным образом, и я думаю, что это более читаемо. – TuomasK

+0

Если вы хотите, вы будете назначать новые переменные так же, как и вы. Но это время и пространство. @TuomasK – SHAZ

+0

Но это никак не влияет на результат. Поэтому это не решает проблему. @SHAZ – TuomasK

0

Вам нужно только изменить время петли от этого:

while ($row_cats=mysqli_fetch_array($run_cats)){ 

К этому:

while ($row_cats=mysqli_fetch_row($run_cats)){ 

mysqli_fetch_array() возвращает все строки таблицы в массиве. Вам нужно будет сохранить его в переменной и создать цикл foreach.

mysqli_fetch_row() возвращает только одну строку за раз. Он также возвращает false, если все строки уже выбраны, поэтому вы можете использовать его в цикле while, как и вы.

0
<label for='product_cat'>Product Category: 
    <select name='product_cat'> 
     <optgroup label='Select a Category'> 
      <option selected='selected' disabled='disabled' hidden='hidden'>Select a Category 
      <?php 
       $sql='select * from `categories`'; 
       $res=mysqli_query($con, $sql); 
       if($res){ 
        while($rs=mysqli_fetch_object($res)){ 
         echo "<option value='{$rs->cat_id}'>{$rs->cat_title}"; 
        } 
       } 
       mysqli_free_result($res); 
       $con->close(); 
      ?> 
     </optgroup> 
    </select> 
</label> 
-1
<html> 
    Product Category: 
    <?php $get_cats="SELECT * FROM categories"; $run_cats=mysqli_query($con,$get_cats);?> 
    <select name="product_cat"> 
     <option>Select a Category</option> 
     <?php while ($row_cats=mysqli_fetch_assoc($run_cats)){?> 
      <option value="<?php echo $row_cats['cat_id'];?>"><?php echo $row_cats['cat_title']; ?></option> 
     <?php } ?> 
    </select> 
</html> 
Смежные вопросы