【发布时间】:2014-01-19 15:30:51
【问题描述】:
我对下面给出的代码有一点问题。当我使用name="staff_number[]" 时,即使它已经在数据库表中,它也会插入一切正常的记录,当我使用name="staff_number" 时,它会检查记录并给我警告框,但是当插入记录时,如果它不在数据库中它只存储员工编号的第一个数字,例如员工编号是 12345 它只存储 1. 任何人都可以在此记录中提供帮助我认为只有一个小问题我无法解决.
PHP 代码:
<select placeholder='Select' style="width:912px;" name="staff_number[]" multiple />
<?php
$query="SELECT * FROM staff";
$resulti=mysql_query($query);
while ($row=mysql_fetch_array($result)) { ?>
<option value="<?php echo $row['staff_no']?>"><?php echo $row['staff_name']?></option>
<?php } ?>
</select>
Mysql 代码:
$prtCheck = $_POST['staff_number'];
$resultsa = mysql_query("SELECT * FROM staff where staff_no ='$prtCheck' ");
$num_rows = mysql_num_rows($resultsa);
if ($num_rows > 0) {
echo "<script>alert('Staff No $prtCheck Has Already Been Declared As CDP');</script>";
$msg=urlencode("Selected Staff ".$_POST['st_nona']." Already Been Declared As CDP");
echo'<script>location.href = "cdp_staff.php?msg='.$msg.'";</script>';
}
插入查询
$st_nonas = $_POST['st_nona'];
$t_result = $_POST['st_date'];
$p_result = $_POST['remarks'];
$arrayResult = explode(',', $t_result[0]);
$prrayResult = explode(',', $p_result[0]); $arrayStnona = $st_nonas;
$countStnona = count($arrayStnona);
for ($i = 0; $i < $countStnona; $i++) {
$_stnona = $arrayStnona[$i];
$_result = $arrayResult[$i];
$_presult = $prrayResult[$i];
mysql_query("INSERT INTO staff(st_no,date,remarks)
VALUES ('".$_stnona."', '".$_result."', '".$_presult."')");
$msg=urlencode("CDP Staff Has Been Added Successfully");
echo'<script>location.href = "cdp_staff.php?msg='.$msg.'";</script>';
}
【问题讨论】:
-
你能把你的问题说得更清楚吗?
-
我没有看到任何插入部件...
-
@amit 你想让我清除什么???我面临的问题是,当我对 staff_number[] 使用数组时,查询来验证记录是否存在或不工作。但是当我使用人员编号查询工作正常但是当我按下添加按钮时它只保存人员编号的第一个数字...