php表单 - 多个下拉菜单

时间:2013-10-11 15:10:59

标签: php mysql forms

我正在使用以下代码从下拉菜单中更新我的数据库,从另一个表中提取信息

<?php
$query = "select id, accountname from reg";
$result = $mysqli->query( $query );

echo '<select id="domain_account" name="domain_account">';
echo '<option value="">';
echo  $row['domain_account'];
echo  '</option>';
while ($row = $result->fetch_assoc()){
?>
    <option value="<?php echo $row['accountname']; ?>"><?php echo $row['accountname']; ?></option>
<?php    
}
echo "</select>";
?>

问题是如果我有2个或更多下拉元素,那么只有前一个读取当前记录

3 个答案:

答案 0 :(得分:0)

您需要触发另一个查询来填充下一个选择框。 或者,您可以将当前查询结果保存在变量中并重用该变量。

答案 1 :(得分:0)

 <?php
    $query = "select id, accountname from reg";
    $result = $mysqli->query( $query );

    echo '<select id="domain_account" name="domain_account">';
    echo '<option value="">';
    echo  $row['domain_account'];
    echo  '</option>';
    while ($row = $result->fetch_assoc()){
        echo '<option value="'.$row["accountname"].'">'.$row["accountname"].'</option>';
    } 
    echo '</select>';
 ?>

这应该已经解决了你打破while循环的问题。 但是您的代码似乎不完整:您从哪里获得domain_account字段?你的要求在哪里?

答案 2 :(得分:0)

while ($row = $result->fetch_assoc()){
    $all_rows[] = $row;
?>
    <option value="<?php echo $row['accountname']; ?>"><?php echo $row['accountname']; ?></option>
<?php    
}
echo "</select>";

foreach($all_rows as $row) {
    //do stuff with $row like echo $row['something'];
}