以下代码运行良好:
<?php
if(isset($_POST['add_bscint'])) {
$req_field = array('bsc_id','int_no');
validate_fields($req_field);
$bsc_id = remove_junk($db->escape($_POST['bsc_id']));
$intno = remove_junk($db->escape($_POST['int_no']));
if(empty($errors)) {
$sql = "INSERT INTO bsc_int (bsc_id,bscint_no)";
$sql .= " VALUES ('{$bsc_id}','{$intno}')";
} else {
$session->msg("d", $errors);
redirect('bsc_int.php',false);
}
}
?>
我想根据$_POST['int_no']
中的值条目添加一行,而不是添加单行。
因此,如果输入条目为5
,则会插入5行,编号为int.1
.. int.5
,如下所示:
bsc_id intno
name1 int.1
name1 int.2
name1 int.3
name1 int.4
name1 int.5
我该怎么做?
答案 0 :(得分:0)
使用for循环循环,直到达到输入的整数。
这样的事情: -
<?php
if(isset($_POST['add_bscint']))
{
$req_field = array('bsc_id','int_no');
validate_fields($req_field);
$bsc_id = remove_junk($db->escape($_POST['bsc_id']));
$intno = (int)$_POST['int_no'];
for($icnt = 1; $icnt <= $intno; $icnt++)
{
$insert_array[] = "('$bsc_id','$icnt')";
}
if(empty($errors))
{
$sql = "INSERT INTO bsc_int (bsc_id,bscint_no)";
$sql .= " VALUES ".implode(",", $insert_array)."";
}
else
{
$session->msg("d", $errors);
redirect('bsc_int.php',false);
}
}
?>
但是您可能需要检查输入的数字是否合理(如果处理大数字,可能需要进行多次插入而不是将它们全部合并为一个)