2016-04-02 2 views
1

Я использую Php/Mysql, у меня есть таблица клиентов и попытка отобразить данные в выпадающем списке. К сожалению, в раскрывающемся списке отображается только один клиент, у которого в общей сложности 3 клиента. Почему только один? Например: Майкл Кинг, Майкл Джордан, Майкл Джон, когда я выбираю все данные из таблицы и делаю вывод для отображения в раскрывающемся списке, Майкл Джон только в раскрывающемся списке.Показать все данные в выпадающем списке из базы данных

Here my Mysql code : 

//All data is selected from client_tb 
<?php 

$sql = "SELECT * FROM client_tb"; 
$result = $conn->query($sql); 
while($row=mysqli_fetch_array($result)) 
{ 

     $id = $row['id']; 
     $lname = $row['lname']; 
     $fname = $row['fname']; 

} 

?> 

//my dropdown which will show the clients from client_tb but only one will appear. 


<option value ="<?=$lname?><?=$fname?>"><?=$lname?> , <?=$fname?> </option> </select><br><br> 
+1

Вы должны поставить опцию внутри цикла – Rasclatt

+0

Great! Большое вам спасибо за вашу помощь – codeSeven

ответ

1

Вы также можете добиться выпадающего списка вне цикла while. Попробуйте это:

$sql = "SELECT * FROM client_tb"; 
$result = $conn->query($sql); 
$options =array(); 
while($row=mysqli_fetch_array($result)) 
{  
     $options[] =$row;  
} 

Ваш выпадающий:

<select name=""> 
    <?php 
    foreach($options as $option): 
     echo '<option value ="'.$option['lname'].''.$option['fname'].'">'.   
      $option['lname'].','.$option['fname'].'</option>'; 
    endforeach; 
    ?> 
</select> 
1

Вы также можете добавить свой дб запрос в функцию, а затем вызвать его.

function myFunction() { 
     $sql = "SELECT * FROM client_tb"; 
     $result = $conn->query($sql); 
     while($row=mysqli_fetch_array($result)) 
     {  
      $myvalues[] =$row;  
      } 
    return $myvalues; 

} 

Теперь раскрывающийся, Обратите внимание на варианты внутри цикла

<select name=""> 
<?php foreach($myvalues as $myvalue) { 
echo '<option value="'.$myvalue['lname'].''.$myvalue['fname'].'">'.   
     $myvalue['lname'].','.$myvalue['fname'].'</option>'; 
     } 
    ?> 
</select>