2013-11-15 55 views
-3
$quantity=$_POST['quantity']; 

do{ 

$request="SELECT id, name, type, price FROM `corro`.`food`"; 

$result=mysql_query($request); 

}while(quantity>0) 
+0

上面的代碼塊中有一個錯誤,我不能計算 – user2966446

+0

需要進行一個小的修正($ quantity> 0) – user2966446

+0

最後一行的語法錯誤:while(數量> 0)應該被while($ quantity > 0) – briosheje

回答

0

基於您的評論我想那就是:

$quantity=$_POST['quantity']; 
$request="SELECT id, name, type, price FROM `corro`.`food` WHERE quantity>0"; 
$result=mysql_query($request); 
+0

因爲您沒有使用它,因此$ quantity = $ _POST ['quantity']的相關性如何? – Brice

+0

不知道...正如我在評論 – Reeno

+0

thanx已經注意到很多reeno它的作品! – user2966446

0
$quantity=$_POST['quantity']; 
if($quantity>0){ 
    $request="SELECT id, name, type, price FROM `corro`.`food`"; 
    $result=mysql_query($request); 
} 
1

首先,你有一個語法錯誤:

while (quantity > 0) 

應該是:

while ($quantity > 0) 

如果你執行你的代碼,你將有無限循環如果$數量實際上大於0:這將只會一遍又一遍地執行您的查詢,因爲你永遠不會數量$。

我猜你的表中有一個數量列,所以你應該做的是把條件放到你的SQL查詢中。 使用PDO,會給你:

$stmt = $dbh->prepare("SELECT id, name, type, price FROM food WHERE quantity > ?"); 
$stmt->execute(array($_POST['quantity'])); 
$results = $stmt->fetchAll(); 

EDIT(以下最新的答案)

注意mysql_ *已被棄用的PHP 5.5.0的。您應該使用mysqliPDO

0

只要做到這一點在你的mysql_query

請注意mysql_*功能現已停用,不應該使用。改爲使用mysqli。 MySQL的查詢是SELECT id, name, type, price FROM corro.food WHERE quantity>0

+0

$ request =「選擇ID,名稱,類型,價格從'corro'.'food' WHERE數量> 0」; 只是以這種方式?很多工作!!!!!!!! – user2966446

+0

! – user2966446

0

while循環運行無限次嘗試給條件,你的代碼,如下面的演示代碼

$quantity=$_POST['quantity']; 
    $quantity_count = 0; 
    do{ 
     $request="SELECT id, name, type, price FROM `corro`.`food`"; 
     $result=mysql_query($request); 
     $quantity_count++; 
    }while($quantity>0 && $quantity_count < 10);  //This is demo code 
相關問題