显示“未定义变量:display1”。 我能够显示while循环。 问题是$ display1在while循环中定义了它必须在其中,因为有$ i增量。
//SQL for display category name
$query1="SELECT cat_name FROM restaurant_category WHERE rest_id={$display}";
$result1=mysql_query($query1);
$rowNum1=mysql_num_rows($result1);
//SQL for display dish information of each category
$query3="SELECT cat_id FROM restaurant_category WHERE cat_name={$display1}";
$result3=mysql_query($query3);
$display3=mysql_query($result3);
$query2="SELECT dish_name, dish_description, dish_price FROM dish WHERE cat_id={$display3}";
$result2=mysql_query($query2);
$rowNum2=mysql_num_rows($result2);
$data=mysql_fetch_row($result2);
while($i<$rowNum1)
{
$display1=mysql_result($result1,$i,"cat_name");
//display category name
while($j<$rowNum2)
{//display dish information}
}
答案 0 :(得分:1)
//SQL for display dish information of each category
$query3="SELECT cat_id FROM restaurant_category WHERE cat_name={$display1}";
$result3=mysql_query($query3);
$display3=mysql_query($result3);
这似乎是一个错误,在$ result3上调用mysql_query。应该是
$display3 = mysql_fetch_row($result3)
在这里:
$display1 = null;
while($i<$rowNum1)
{
$display1=mysql_result($result1,$i,"cat_name");
//display category name
while($j<$rowNum2)
{
//display dish information
}
}
那里可能存在语法错误。同时在while范围之外添加$ display1。
还有义务:mysql_ *函数已弃用。
答案 1 :(得分:0)
$display1
变量将在while循环后定义。您看到的警告是因为您在循环内分配了之前未使用过的变量。只需在while循环外声明变量即可清除警告:
$display1 = null;
while ($i<...