场景:我的PHP页面中有一个表单,将数据插入到mySQL数据库中。
假设,对于每种类型的T恤,都有颜色变化,尺寸变化和其他类似的。所以在我的数据库中,我想存储这样的数据:
---+------+--------+--------- id | p_id | colors | random ---+------+--------+--------- 1 | 1 | red | 400 2 | 1 | green | 400 3 | 1 | orange | 400 4 | 2 | green | 200 5 | 2 | blue | 200 ---+------+--------+---------
我正在使用这样的表格:
Product id | color | random ---------------+-----------------------------------+---------- [Product 1 [v] | [+]Red [+]Green [+]Orange [o]Blue | [ 400] ---------------+-----------------------------------+----------
图例: [+]
& [o]是复选框,[v]
是下拉菜单,[ ]
是文本框。
但每次发布表单时,都会这样插入:
---+------+--------+--------- id | p_id | colors | random ---+------+--------+--------- 1 | 1 | red | 400 2 | 1 | green | 3 | 1 | orange | ---+------+--------+---------
如何在所有三行中插入“随机”数字?
答案 0 :(得分:3)
我想我理解了你的问题并发布了这个解决方案。请在数组中选中颜色复选框字段,如:
<input type="checkbox" name="color[]" value="Red"/>Red
<input type="checkbox" name="color[]" value="Green"/>Green
<input type="checkbox" name="color[]" value="Orange"/>Orange
<input type="checkbox" name="color[]" value="Blue"/>Blue
现在,如果您发布表单,您将获得一系列颜色,只选中复选框。例如,如果您选中了红色和橙色,则数组将类似于:
Array ([color] => Array ( [0] => Red [1] => Orange ))
现在,您可以在此处运行循环以在数据库中插入值。
<?php
let,$random=$_POST['random'];
$p_id=$_POST['p_id'];
$colors=$_POST['color'];
foreach($colors as $each)
{
INSERT INTO `shirts`(`p_id`, `colors`, `random`) VALUES ($p_id, $each, $random);
}
?>
希望它会对你有所帮助。如果你遇到任何问题,请问我。
答案 1 :(得分:0)
如果您可以发布用于插入数据的MySQL语句,那将非常有用。 规范的方式是:
INSERT INTO `shirts`(`p_id`, `colors`, `random`) VALUES (1, 'red', 400), (1, 'green', 400), (1, 'orange', 400);