当前位置: 首页 > 知识库问答 >
问题:

无法填充所有下拉框,只能先从PHP中的数据库填充

于飞飙
2023-03-14

这是我的代码只有第一个下拉框正在填充。我可以重复下拉框,但无法填充所有下拉框。请帮帮我...

$sel='select Driver_name from driver_master';
$query=mysqli_query($conn,$sel);
$sel1='select d_status from status';
$query1=mysqli_query($conn,$sel1);

echo "<form action='driver_status.php' method='post'>";
echo "<table cellpadding=5>";
echo "<tr>";
echo "<th>Driver Name</th>";
echo "<th>Status</th>";
echo "<th>From</th>";
echo "<th>To</th>";
echo "</tr>";
while($row=mysqli_fetch_assoc($query)){    
    echo "<tr>";
    echo "<td>".$row['Driver_name']."</td>";?>
    <td><select>
<?php while($row1=mysqli_fetch_assoc($query1)){  
    $st=$row1['d_status'];
    echo "<option value='$st'>$st</option>";
    }?>
    </select></td>
<?php
    echo "</tr>";      
}
echo "</table>";
echo '<input type="submit" name="sub" value="Update"/>';
echo "</form>";

我可以重复下拉框,但无法填充所有下拉框。请帮帮我...

我想将数据库中的数据显示到所有下拉框中,并保存所选值。我使用的提交按钮不起作用,请告诉我原因?

共有2个答案

司马彬
2023-03-14
$sel='select Driver_name from driver_master';
$query=mysqli_query($conn,$sel);
$sel1='select d_status from status';
$query1=mysqli_query($conn,$sel1);

echo "<form action='driver_status.php' method='post'>";
echo "<table cellpadding=5>";
echo "<tr>";
echo "<th>Driver Name</th>";
echo "<th>Status</th>";
echo "<th>From</th>";
echo "<th>To</th>";
echo "</tr>";
do {    
    echo "<tr>";
    echo "<td>".$row['Driver_name']."</td>";?>
    <td><select>
<?php do{  
    $st=$row1['d_status'];
    echo "<option value='$st'>$st</option>";
    }while($row1=mysqli_fetch_array($query1)); ?>
    </select></td>
<?php
    echo "</tr>";      
}while($row=mysqli_fetch_array($query));
echo "</table>";
echo '<input type="submit" name="sub" value="Update"/>';
echo "</form>";
皇甫俊雅
2023-03-14

我对您的代码做了一些重大更改。在下面的代码中,我将一些变量重命名为一些可读性更强的名称,这样您就不会陷入混乱。

我将检索状态的查询结果保存到一个变量中,您可以轻松地在Foreach循环中重用该变量。我还编辑了html部分,并使它完全PHP节省了一些开始和结束标记与PHP。

如果你怀疑从查询中得到的值与你期望的不太一样,首先在PHPmyadmin中尝试一下,这样你就知道不是PHP语法或格式把它们弄乱了。

我还为select元素指定了一个名称,以便您可以在PHP中链接传递的值。您可以使用print\r($\u POST) 处于驱动程序状态。php来检查哪些值通过。

<?php
$query_driver = 'select Driver_name from driver_master';
$result_driver = mysqli_query($conn, $query_driver);
$query_statuses ='select d_status from status';
$result_statuses = mysqli_query($conn, $query_statuses);
while($row_status = mysqli_fetch_assoc($result_statuses)){
    $statuses[] = $row_status['d_status'];
}

// $statuses now contains all statuses from the query this saves extra unnecessary queries.

echo "<form action='driver_status.php' method='post'>";
echo "<table cellpadding=5>";
    echo "<tr>";
    echo "<th>Driver Name</th>";
    echo "<th>Status</th>";
    echo "<th>From</th>";
    echo "<th>To</th>";
echo "</tr>";
while($row_driver = mysqli_fetch_assoc($result_driver)){   
    echo "<tr>";
        echo "<td>".$row_driver['Driver_name']."</td>";
        echo "<td><select name='drivers[". $row_driver['Driver_name'] ."][status]'>";
        foreach($statuses as $status){
            echo "<option value='". $status . "'>". $status . "</option>";
        }
        echo "</select>";
        echo "</td>";
    echo "</tr>";      
}
echo "</table>";
echo '<input type="submit" name="sub" value="Update"/>';
echo "</form>";

 类似资料:
  • 问题内容: 我正在尝试从PHP中的mySQL查询结果填充下拉框。我在网上查找了示例,并在网页上进行了尝试,但是由于某些原因,它们根本没有填充我的下拉框。我已经尝试调试代码,但是在我看过的网站上并没有真正解释它,我无法弄清楚每一行代码是什么。任何帮助将是巨大的:) 这是我的查询: 问题答案: 您需要确保如果使用的是WAMP之类的测试环境,请将用户名设置为root。这是一个示例,该示例连接到MySQL

  • 问题内容: 我有一个表格(“场地”),其中存储了志愿者可以工作的所有可能场所,每个志愿者被分配为每个场所工作一个。 我想从场所表中创建一个选择下拉列表。 现在,我可以显示分配给每个志愿者的地点,但是我希望它显示下拉框,并且已经在列表中选择了地点。 例如,将ID为7的志愿者分配给了场地编号4 我知道它将采用for或while循环的形式从场地表中拉出场地列表 我的查询是: 如何填充选择下拉框与场馆(

  • 本文向大家介绍php使用数组填充下拉列表框的方法,包括了php使用数组填充下拉列表框的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php使用数组填充下拉列表框的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的php程序设计有所帮助。

  • 问题内容: 我有这样的MySQL表 区域表 … 和学校表 我的注册表中有多个选择(下拉)菜单。区域下拉列表如下所示 我想做的是,获取“区域” ID,然后基于“学校”表中的ID(先前选择的ID)填充学校下拉菜单。我是JS的新手。请帮助我修复它。提前谢谢。 问题答案:

  • 简介 Laravel 可以用 seed 类轻松地为数据库填充测试数据。所有的 seed 类都存放在 database/seeds 目录下。你可以任意为 seed 类命名,但是更应该遵守类似 UsersTableSeeder 的命名规范。Laravel 默认定义的一个 DatabaseSeeder 类。可以在这个类中使用 call 方法来运行其它的 seed 类从而控制数据填充的顺序。 编写 See

  • 我试过使用和不使用。表和已成功创建,并包含迁移(insert-books)。 迁移是通过的,因为如果我添加了一个无效的insert(到一些不存在的表中),我会得到异常: 如何使用LiquiBase用insert-books.sql脚本中的数据填充数据库?