我的代码无效,显示条件错误。
<?
foreach($_POST['check'] as $value )
foreach($_POST['emp'] as $value2 )
{
mysql_query("insert into tb_recived_jobs set job_id='$value'emp_id='$value2'");
}
?>
答案 0 :(得分:1)
您应该使用For循环来执行此操作
$count = count($_POST['check']);
for($i=0;$i<=$count;$i++) {
$value= $_POST['check'][$i];
$value2= $_POST['emp'][$i];
mysql_query("insert into tb_recived_jobs(job_id,emp_id) values('$value','$value2')");
}
答案 1 :(得分:1)
像这样纠正你的SQL查询:
"insert into tb_recived_jobs set job_id='$value' emp_id='$value2'"
你在第一列和第二列之间缺少一个空格, 像这样的INSERT SQL查询可以帮助更多:
"INSERT INTO `tb_recived_jobs` (`job_id`, `emp_id`) VALUES ('$value', '$value2');"
更新: 我刚刚意识到错误的原因,因为这里你有两个数组,你想通过查询插入它们的值,在这种情况下,两个数组应该具有相同的长度,一切顺利
$checks = $_POST['check'];
$emps = $_POST['emp'];
$length = count($checks);
if ($length === count($emps)) {
for ($i = 0; $i < $length; $i++) {
$sql = "INSERT INTO `tb_received_jobs` (`job_id`, `emp_id`) VALUES ('{$checks[$i]}', '{$emps[$i]}');";
// send the query
}
}
这应该可以正常工作。
答案 2 :(得分:0)
你可以在一个数组中合并两个数组$ _POST ['check']和$ _POST ['emp'],而不是使用foreach。
答案 3 :(得分:0)
尝试此操作,因为我了解您是否要为每个$_POST['emp']
插入每个$_POST['check']
<?
foreach($_POST['check'] as $value )
{
foreach($_POST['emp'] as $value2 )
{
mysql_query("INSERT INTO `tb_recived_jobs`(job_id, emp_id) VALUES('$value', '$value2')") or die(mysql_error());
}
}
?>