2013-12-16 10 views
2

我想知道如果我在select代碼中使用循環語句,我該如何操作sql代碼中的「where」語句。如何使用選擇標籤上的循環語句正確更新表格?

這是我寫的代碼。

這些一個是代碼我的「<select>

$result=mysql_query("SELECT * from inventory"); 
$ctr=0; 
while($inventory=mysql_fetch_array($result)) 
{ 
$print=$inventory['item_name']; 
$cquantity=$inventory['quantity']; 
$selected=array(); 
?> 


<option> <?php echo $print; $selected[$ctr]=$print==$print ? $print : '';?></option> 

<?php $ctr++;} 

而且其中一個是我的SQL代碼:

$sql="Update inventory set quantity='*some quantity here*' where item_name='$selected[$ctr]'"; 

現在,我知道我的代碼將剛剛更新的最後一個值我的item_name。我想知道我怎麼能操縱我的「在那裏」的聲明,這將在我的「<select>

感謝更新所選字段的數量

回答

0

您將需要使用Javascript功能來解釋的選擇,然後通過它通過POST提交或通過AJAX提交。

的JavaScript可以是:

var quantity = document.getElementById("quantityselect").value 

這將創建一個JavaScript變量,,即等於選定的值。然後你需要創建一個PHP腳本來處理提交,然後Javascript可以使用提交表單

*formname*.submit 
+0

但是我的sql代碼是什麼樣的? 它仍然會更新那些滿足where語句的值。 – mJei

+0

然後,PHP會根據提交數據創建SQL腳本。所以,PHP會以$ quantity = $ _POST [「quantityselect」]獲取數量;然後SQL會像「UPDATE inventory SET quantity = \」$ quantity \「WHERE item_name = \」$ itemname \「」; – SyntaxLAMP

+0

哎呀抱歉,我認爲我的信息不足。 爲了說明起見,我製作了一個頁面,一個管理材料頁面,其中所有的項目名都位於下拉列表中。然後有一個輸入框,您可以在其中添加或減去該特定項目的數量。 我沒有提取數量的問題,相反我很困擾itemname,因爲正如我所說的,我在選擇標記中使用了循環,這意味着我表格中的所有項目名稱都將出現在下拉列表中。然後,如果我添加另一個項目,它也將被添加到下拉列表中,但將被保存到最後一個循環項目名稱。 – mJei