我有这段代码,允许我在数据库中插入一些信息:
$att_id=$_REQUEST['att_id'];
$date=$_REQUEST['date'];
$pdv=$_REQUEST['checkbox'];
foreach($date as $val) {
foreach ($pdv as $pdv1) {
$values_arr[] = "('" . $val . "','" . $pdv1 . "','" . $att_id . "')";
$values = implode(", ", $values_arr);
$sql="INSERT INTO date_pdv (date,id_pdv,att_id) VALUES $values";
mysql_query($sql)or die(mysql_error());
}
}
现在,关键是如果数组日期有这个值[1,2]并且数组pdv有这些[1,2,3]我应该在数据库中得到的是:
1-1
1-2
1-3
2-1
2-2
2-3
但我不...我在数据库上得到重复的值...我应该使用任何长度的数组..等等? 谢谢!
答案 0 :(得分:0)
$att_id=$_REQUEST['att_id'];
$date=$_REQUEST['date'];
$pdv=$_REQUEST['checkbox'];
foreach($date as $val) {
foreach ($pdv as $pdv1) {
$values_arr[] = "('" . $val . "','" . $pdv1 . "','" . $att_id . "')";
}
}
$values = implode(", ", $values_arr);
$sql="INSERT INTO date_pdv (date,id_pdv,att_id) VALUES $values";
mysql_query($sql)or die(mysql_error());
您在循环的每次迭代中都运行了插入查询,这就是为什么最终会出现大量重复行的原因。
请注意}
圈
foreach
的位置