动态下拉菜单问题

时间:2016-04-17 20:33:06

标签: php sql

我有一个SQL查询,我试图使用以下代码创建一个下拉菜单:

<?php 
    echo "<select name='Food'>";

    while ($temp = mysql_fetch_assoc($FoodQuery)
    { 
        echo "<option value="$temp['foodID']">$temp['food_name']</option>"; 
    }

    echo "</select>"; 

?>

但由于某种原因,当我尝试运行页面时,我一直收到错误。我确保SQL查询工作正常,所以我不确定它为什么不显示。

3 个答案:

答案 0 :(得分:2)

您的代码存在一些问题。

首先,您应该将错误复制到您的问题中。这将解决某些您的问题,但可能还有其他错误信息显示您未提及的问题。

  1. while循环没有必要的结束)
  2. 循环内的回声不正确。
    • 您错误地嵌套了引号。您不能将"嵌套在由"
    • 封装的字符串中
    • 我不相信你可以插入一个数组变量(echo "$myArray['key']")我已修改为连接。
  3. 以下是修订这些错误的代码:

    echo "<select name='Food'>";
    // Need to close the while condition with a closing )
    while ($temp = mysql_fetch_assoc($FoodQuery))
    { 
        // The original echo will NOT work as is
        // echo "<option value="$temp['foodID']">$temp['food_name']</option>";
        // revised echo to properly output
        echo '<option value="' . $temp['foodID'] . '">' . $temp['food_name'] . '</option>'; 
    }
    
    echo "</select>"; 
    

答案 1 :(得分:0)

你错过了一个)。它应该是那样的;

<div class="trapezoid"></div>

答案 2 :(得分:0)

这:while ($temp = mysql_fetch_assoc($FoodQuery)

应该是:while ($temp = mysql_fetch_assoc($FoodQuery))

这:echo "<option value="$temp['foodID']">$temp['food_name']</option>";

应该是:echo "<option value=\"$temp['foodID']\">$temp['food_name']</option>"

或作为更清晰的替代方案:

echo "<option value=\"$temp['foodID']\">" . $temp['food_name'] . "</option>"