2011-10-21 91 views
2

我有一個表格,可以將商品添加到廣告資源中。目前,我一次只能添加一個項目。這是表單截圖:http://i.imgur.com/SdFBv.png。但我想完成這個工作:http://i.imgur.com/PoUpV.png(<只是一個草圖),它使用一種形式向數據庫添加多條記錄。這是我目前的形式:從一個表單向數據庫添加多條記錄?

add.html:

<form action="add.php" method="POST"> 
    <select name="category" id="category"> 
     <option value="1">Caviar In Canned Jars</option> 
    </select> 
    <input id="name" name="name" type="text"> 
    <input id="size" name="size" type="text"> 
    <input id="sku" name="sku" type="text"> 
    <input id="price" name="price" type="text"> 
    <input value="Add" type="submit"> 
</form> 

add.php:

$result = mysql_query(" 
    INSERT INTO `items` (name, size, sku, price, category_id) 
    VALUES ('$_POST[name]', '$_POST[size]', '$_POST[sku]', '$_POST[price]', '$_POST[category]');"); 
    if (!$result) { 
     echo "Something went wrong!"; 
    } else { 
    echo '<script type="text/javascript"> 
       <!-- 
        window.location = "add.html" 
       //--> 
      </script>'; 
} 

我如何能實現與PHP和SQL的第二屏幕截圖功能(HTTP:/ /i.imgur.com/PoUpV.png)?

P.S:我知道,這是容易受到SQL注入,但它只能通過輸入名稱後括號內添加

+4

你想要整個HTML和PHP代碼,或者你可以自己做一些嗎?你需要哪些部分幫助? –

+0

只有PHP和SQL,我可以在本地或公共場合編寫標記 – tmrhmdv

+1

@Timur Wether,開始養成某些習慣並不壞......這是幾個字符以上,但不會讓你失望的一天,你做一個公共網站你忘了這件事 –

回答

3

步驟1.更改HTML位是數據的陣列本地Web服務器上運行。

<form action="add.php" method="POST"> 
    <!-- row 1 --> 
    <select name="category[]" id="category"> 
     <option value="1">Caviar In Canned Jars</option> 
    </select> 
    <input id="name" name="name[]" type="text"> 
    <input id="size" name="size[]" type="text"> 
    <input id="sku" name="sku[]" type="text"> 
    <input id="price" name="price[]" type="text"> 
    <!-- row 2 --> 
    <select name="category[]" id="category"> 
     <option value="1">Caviar In Canned Jars</option> 
    </select> 
    <input id="name" name="name[]" type="text"> 
    <input id="size" name="size[]" type="text"> 
    <input id="sku" name="sku[]" type="text"> 
    <input id="price" name="price[]" type="text"> 
    <!-- submit at bottom --> 
    <input value="Add" type="submit"> 
</form> 

將只有一個提交。這篇文章將把所有的數據保存在數組中。

第2步。循環訪問數據,執行單個插入或構建大型查詢。

在這個例子中有5行數據。

for($i = 0; $i < 5; $i++) 
{ 
    $name = $_POST['name'][$i]; 
    $size = $_POST['size'][$i]; 
    ... 

    /* verify data, do sql escaping */ 

    $result = mysql_query(" 
     INSERT INTO `items` (name, size, sku, price, category_id) 
     VALUES ('$name', '$size', '$sku', '$price', '$category'); 
    "); 

    /* do result handling */ 
} 
相關問題