-1

我有这段代码允许我在数据库中插入一些信息:

$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());
}
}

现在,要点是,如果数组 date 有这个值 [1,2] 并且数组 pdv 有这个值 [1,2,3] 我应该在数据库中得到的是:

1-1
1-2
1-3
2-1
2-2
2-3

但我没有......我在数据库上得到重复的值......我应该使用数组的任何长度......等等吗?谢谢!

4

1 回答 1

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

于 2012-09-19T07:16:25.853 回答