2015-11-23 20 views
1

在我非常有限的開發經驗中,當我提交表單時,通常輸入值的名稱或ID與MySQL表中的列相對應,並且兩者的名稱名稱/ ID和列是已知的。但我有什麼相當於訂單的形式,我有一個數字輸入,並從包含所有可用項目的表中爲名稱/ ID分配唯一的ID。當我動態填充名稱/ ID時,如何提交輸入名稱或ID及其值?在MySQL列中插入文本字段名稱或ID作爲值

實施例:

<?php '<input type="number" name="'.$row['itemID'].'" id="'.$row['itemID'].'">';?> 

表結構我想插入到具有以下的列:

  1. ITEMID

條目標識將從貼輸入字段的名稱和數量將作爲ente的輸入字段的值紅色由用戶。

任何指導,非常感謝。謝謝!

+0

你遇到什麼問題?您是否無法提交或無法從服務器上的$ _POST獲取值? – Ethan22

+1

您需要輸入值屬性。另外輸入是一個自我關閉的標籤(據我所知)。 –

+0

@ Ethan22:我不知道如何從$ _POST獲取itemID的值。我可以得到用戶輸入沒有問題的價值。 – TheAleMaster

回答

1

你可以使用一個foreach($_POST as $id => $value)循環,拿到鑰匙,但你永遠無法使用任何其他的輸入值,除了命名的那些與一個項目ID。

SOLUTION:用以下方法,你可以使用你想要的形式內的任何其它輸入:

<input type="number" name="products[<?php echo $row['itemID']; ?>]" id="<?php echo $row['itemID']; ?>" /> 

現在,在你的PHP,你可以訪問$_POST,它看起來就像這樣:

[ 
    'products' => [ 
     '123' => 4, 
     '456' => 1, 
     ... 
    ] 
] 

現在,您可以在foreach循環遍歷$_POST['products']而不用擔心其他輸入值。

foreach($_POST['products'] as $id => $num_purchases) 
{ 
    //stuff 
} 
+0

「,但除了使用項目ID命名的輸入值之外,您永遠無法使用任何其他輸入值。」你的意思是,如果我想在該行插入用戶名或其他東西? – TheAleMaster

+0

有了這個解決方案,您不必擔心其他輸入,可以根據需要隨意使用。我只是指出,通過$ _POST的簡單循環可以工作,如果id和數量是窗體中的唯一輸入。 – Ethan22

+0

哎呀。謝謝!我認爲我的問題的關鍵是從itemID中創建一個數組。我在陣列發臭... – TheAleMaster

0

我不知道我是否正確理解了你,但可能是你需要一個隱藏的輸入數組來存儲$ _POST中的所有名字;

echo '<input type="hidden" name="allNames[]" value="'.$row['itemID'].'">'; 

在後面的代碼後門柱:

$all_names = $_POST['allNames']; 
foreach($all_names as $key => $value) { 
    echo $_POST[$value]; //Take the user input 
} 
+0

用戶應該如何輸入一個值?我需要項目的id(itemID)和數量,這是用戶輸入的值。 – TheAleMaster

+0

您可以從這裏取值:''; –

相關問題