2011-07-21 112 views
1
<?php 
include 'db.php'; 
$i=0; 
$result15=mysql_query("select c.dishes from c"); 
while($row=mysql_fetch_array($result15)) 
{ 
if($row['dishes']!=NULL) 
{ 
$dish[$i]=$row['dishes']; 
$i++; 
} 

} 
    mysql_close(); 
    $j=0; 
    while($j<=$i) 
{ 
echo $dish[$j]; 
$j++; 
} 
?> 

獲得通知:未定義抵消:2在F:\ XAMPP \ htdocs中....在線18PHP/MySQL的陣列幫助需要

回答

2

你的意思是while($j<$i)那裏。

請記住,您在最後一個插入後增加了$ i 。這意味着$ i將高於$盤的最大關鍵點。

的幾點思考:

任何你平等與空測試的時候,你應該考慮使用is_null(或is_null!)。它更準確。

此:

$dish[$i]=$row['dishes']; 
$i++; 

會更好,如:

// obviously instead of $i you would use count($dish) later (or use foreach) 
$dish[]=$row['dishes']; 

那場決賽,而循環是在foreach更好:

foreach($dish as $val) 
{ 
    echo $val; 
} 
0

你需要確保索引在迴應之前存在,如下所示:

while($j<=$i) 
{ 
    if (isset($dish[$j])) echo $dish[$j]; 
    $j++; 
} 
0

你的第二個while循環已經到了。您只能定義高達i-1的菜餚,然後循環播放直至幷包括i。將其更改爲:

while($j<$i)