2011-10-21 64 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 */ 
} 
相关问题