每行带有动态组合框的php动态表

每行带有动态组合框的php动态表,php,mysql,Php,Mysql,我有一个问题与动态表的动态组合框的每一行 基本上,发生的是mysql中所有的信息都被提取出来了 在表意义上运行良好但与组合框的 问题是,表格的第一行正是我想要的组合框和表格 但是下面的行不是,它们只在 组合框不是3,所以我想它不会处理while循环 我想知道是否有人能解决这个问题 //Check to see if a driver has been assigned $driver = $row["driver"]; if($driver==""){ $select_driver =

我有一个问题与动态表的动态组合框的每一行 基本上,发生的是mysql中所有的信息都被提取出来了 在表意义上运行良好但与组合框的 问题是,表格的第一行正是我想要的组合框和表格 但是下面的行不是,它们只在 组合框不是3,所以我想它不会处理while循环 我想知道是否有人能解决这个问题

//Check to see if a driver has been assigned
$driver = $row["driver"];

if($driver==""){
   $select_driver = 'Select Driver' ;
} else{
   $select_driver = $driver;
}

echo ' <tr><td><select name= "stuff"><option value="'.$select_driver.'">'. $select_driver;
while ($row_driver = mysql_fetch_array($dbSearchDriver_result)){
   echo '<option value="'.$row_driver["Username"] .'">'.$row_driver["Username"] .'</option>'; //Echo's each driver 
}
echo '</option></select></td>';

提前感谢

看起来您正在反复使用相同的$dbSearchDriver\u结果

这是一个记录集,因此每次执行以下操作时:

$row_driver = mysql_fetch_array($dbSearchDriver_result)
它在记录集中前进一条记录。当您到达记录集的末尾时,它不会返回到第一条记录。你必须明确地告诉他

您可以尝试:

while ($row_driver = mysql_fetch_array($dbSearchDriver_result)) { 
   echo ''.$row_driver["Username"] .''; //Echo's each driver 
}
mysql_data_seek($dbSearchDriver_result,0);

问题是:您必须关闭此行中的选项标记:

echo ' <tr><td><select name= "stuff"><option value="'.$select_driver.'">'. $select_driver;

您应该在选择驱动程序之后关闭标记,而不是在while循环之后关闭标记。首先,与数据库相关的内容应该放在一个地方。html代码以外的任何代码

步骤1:创建如下函数:

函数查询\u mysql$SQL\u查询{

      $data = array();

      $result = mysql_query($SQL_QUERY);
    while ($row_driver = mysql_fetch_array($result)) { 
            $data[] = $row_driver;
       }
返回$data

}

在需要时将函数放入要包含的php文件中

$myData=query\u mysqlSELECT*FROM表//你的问题

$myData将是一个数组,您可以随时使用它。 只要在需要时解析它

PS:了解MVCmodel视图控制器和关注点分离