显示数据库

时间:2016-04-02 03:48:22

标签: php mysql

我正在使用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>

2 个答案:

答案 0 :(得分: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 :(得分: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>