2011-04-04 64 views
0

我開車自己瘋狂試圖修改一段由我的購物車開發人員提供給我的php代碼,因爲他們目前非常忙碌,但不幸的是我沒有使用php的經驗,因爲我以前只處理過html。該代碼旨在調用產品的數據庫,以便將商品添加到購物車中,以便從後端庫存中刪除一個商品。php新手尋求庫存數量編碼建議

我開始的代碼是這樣的:

<?php 
$HTML = ""; 
// Get all specific result from the "inventory" table 
$result = mysql_query("SELECT * FROM inventory WHERE catagory='catname'") or die(mysql_error()); 
while($row = mysql_fetch_array($result)){ 
    if($row['instock'] != 0){ 

$HTML .= <<< eof 
<option cost="$row[listPrice]" id_num="$row[itemid]" name="$row[itemName]">$row[description]</option> 
eof; 
} 
} 
echo $HTML; 


?> 

不過,我不希望客戶能夠將項目添加到購物車如果「使用inStock」號是0或更少(因爲我們贏了」 ...沒有賣!)用我有限的瞭解和一些研究,我想我需要添加一個else或ELSEIF語句的地方在這裏,沿着

elseif($row['instock'] <= 0) 
{ 
echo 'Sorry this item is out of stock.' 
} 

但是,線條無論我似乎把它放在我每當我嘗試運行腳本時,總是會出現語法錯誤。我試圖弄清楚所有的大括號如何工作和$ HTML,但我完全失去了!

我也想知道如果我需要額外的東西,因爲每個項目都有一個文本輸入數量框,在項目添加到購物車之前完成,所以我認爲可能需要某些東西這樣,如果客戶在箱子內輸入的數量超過庫存數量,並點擊「添加到購物車」,他們會有某種彈出窗口告訴他們他們已經選擇了超過當前可用的數量。如果是這樣的話,我會很樂意提供一些關於如何做到這一點的建議!

在此先感謝!

回答

1

你想要的邏輯已經存在:

if($row['instock'] != 0){ 

假設instock是一個數字的股票數量單位,並假設您的庫存系統從來沒有低於零,則該測試是做你想要什麼。

如果你的意思是你想添加一個明確外的股票消息,那麼這樣的事情應該工作

while($row = mysql_fetch_array($result)){ 
    if($row['instock'] != 0) { 
     $HTML .= <<< eof 
<option cost="$row[listPrice]" id_num="$row[itemid]" name="$row[itemName]">$row[description]</option> 
eof; 
     } 
    else 
     $HTML .= 'Sorry this item is out of stock.'; 
} 
echo $HTML; 
+0

我假設'instock'是股票中的單位數量(該代碼是由第三方編寫的),它似乎是。如果購買的數量多於可用數量,我的庫存可能會顯示負數,但購買超過可用數量的數據是我試圖阻止的數據:) – Kat 2011-04-05 17:45:43

+0

如果出現這種情況,請將比較結果更改爲'if($ row ['instock']] > 0)',因此負數不能指示可用性。 – wallyk 2011-04-05 17:48:19

1

只需在echo聲明的末尾添加一個;