0

「未定義の変数: 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}
}
4

2 に答える 2

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_* 関数は減価償却されます。

于 2013-07-04T19:30:28.073 に答える
0

$display1変数は while ループの後に定義されます。表示されている警告は、ループ内で以前に使用したことのない変数に代入しているためです。while ループの外側で変数を宣言するだけで、警告が表示されなくなります。

$display1 = null;
while ($i<...
于 2013-07-04T19:31:26.023 に答える