【问题标题】:Displaying data from other table in php while loop在php while循环中显示来自其他表的数据
【发布时间】:2017-07-08 15:25:17
【问题描述】:

我正在尝试在另一个表中的选择标记中显示选项,而我的 首先,while 循环继续,这是我迄今为止尝试过的!

<?php
     $query="SELECT * FROM `customerdata` WHERE takenby='$_SESSION[username]'";
     $query_two="SELECT * FROM `vendordriver` WHERE vendoremail='$_SESSION[username]'";
     $run_two=$db->query($query_two);
     $run=$db->query($query);
     while ($row=$run->fetch_assoc()) {
       echo " <tr><td>$row[bookingid]</td>
       <td>$row[drivername]</td>
       <td>$row[cabtype]</td>
       <td>$row[carnumber]</td><td><select>";
  while ($row_two=$run_two->fetch_assoc()) {
    echo "<option>$row_two[drivername]</option>";
  }
echo" </select></td>
       <td><input type='submit' class='btn btn-success' value='SEND '>
       </td>";
     }
    ?>

请给点建议!!!

【问题讨论】:

  • 只需先创建一个选项字符串然后在选择中使用它
  • 你能帮我写代码吗!我试过了,但没有得到满意的结果!

标签: php mysql while-loop


【解决方案1】:

你可以试试这个代码

<?php
$table_1 = null;
$username = $_SESSION['username'];
$query="SELECT * FROM customerdata WHERE takenby='$username'";
$run=$db->query($query);
if ($result->num_rows > 0) {
    while ($row=$run->fetch_assoc()) {
    $table_1 = "<tr><td>$row[bookingid]</td>";
    $table_1 .= "<td>$row[drivername]</td>";
    $table_1 .= "<td>$row[cabtype]</td>";
    $table_1 .= "<td>$row[carnumber]</td><td><select>";

echo $table_1;
$query_two="SELECT * FROM vendordriver WHERE vendoremail='$username'";
$run_two=$db->query($query_two);
        while ($row_two=$run_two->fetch_assoc()) {
            echo "<option>$row_two[drivername]</option>";
        }

        echo" </select></td>
        <td><input type='submit' class='btn btn-success' value='SEND '>
        </td>";
    }
}
?>

【讨论】:

    【解决方案2】:

    将第二个查询的结果定义为数组变量,然后在第一个查询循环中使用该数组来回显驱动程序名称,您在第一个查询之前执行第二个查询

    $query="SELECT * FROM `customerdata` WHERE     takenby='$_SESSION[username]'";
    $query_two="SELECT * FROM `vendordriver` WHERE vendoremail='$_SESSION[username]'";
    $if(!isset($array_option)){$array_option=array();}
    $run_two=$db->query($query_two);
    $run=$db->query($query);
    while ($row_two=$run_two->fetch_assoc()) {
    array_push($array_option,$row_two[driver_name];
    }
    

    然后在循环第一个查询中执行此操作

    while ($row=$run->fetch_assoc()) {
    echo " <tr><td>$row[bookingid]</td>
    <td>$row[drivername]</td>
    <td>$row[cabtype]</td>
    <td>$row[carnumber]</td><td><select>";
    for($i=0;$i<count($array_option);$i++){
    echo "<option>$array_option[$i]</option>"
    }
    

    然后是剩下的代码

    echo" </select></td><td><input type='submit' class='btn btn-success' value='SEND '></td>";
    }
    ?>
    

    【讨论】:

      猜你喜欢
      • 2021-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-27
      • 2021-09-06
      • 2011-01-30
      • 2013-03-17
      相关资源
      最近更新 更多