【发布时间】:2015-01-05 10:05:48
【问题描述】:
我在使用单选按钮输入数据时遇到问题。我使用 for 循环插入单选按钮的值 [1、2、3、4 作为它们的值 BTW:这是用于评估系统]。问题是,除了我的单选按钮的值之外,所有正确回显/插入的值[例如:evaluatorsname、toevaluate'sname、id 和arestorerate]。
当我测试系统或评估员工时,我给员工评分如下:4、4、4、4、4、3、3、3、3、3、2、2、2、2、2、 1,1,1(五个 4、五个 3、五个 2 和三个 1=18 行)。当我检查数据库 [dbname:tbl_semiresults] 时,数据库出现了:
我认为,值跳跃了,那些“最后一个”radiobtn 值被省略了。几天来我一直在考虑这个问题,但我不明白为什么我的单选按钮的某些值没有将自己放在我希望它们所在的正确行中!哈哈,请帮忙...
任何想法...
这是我的代码:Evaluation.php
<form action="EvaluationPropSemi_.php" method="post">
<table border="1">
<tr><br />
<th width="700px">AREAS TO RATE</th>
<th width="100px">1</th>
<th width="100px">2</th>
<th width="100px">3</th>
<th width="100px">4</th>
</tr>
<?php
$rates="select * from tbl_torateareas;";
$raters=mysqli_query($con,$rates);
$raterows=mysqli_fetch_array($raters);?>
<input type="text" name="employ" value="<?php echo $_POST['empname'];?>" />
<input type="text" name="activ" value="<?php echo $_SESSION['user']; ?>" />
<?php do{
?>
<tr>
<td><?php echo $raterows['torateareas'];?>
<input required="required" type="text" name="torates[]" value="<?php echo $raterows['torateareas'];?>" /></td>
<th><input required="required" type="radio" name="rad[<?php echo $raterows['idtbl_torateareas'];?>]" value="1" /></th>
<th><input required="required" type="radio" name="rad[<?php echo $raterows['idtbl_torateareas'];?>]" value="2" /></th>
<th><input required="required" type="radio" name="rad[<?php echo $raterows['idtbl_torateareas'];?>]" value="3"/></th>
<th><input required="required" type="radio" name="rad[<?php echo $raterows['idtbl_torateareas'];?>]" value="4" /></th>
</tr>
<?php
}while($raterows=mysqli_fetch_array($raters)); ?>
</table>
</fieldset>
</tr>
</table>
<input type="submit" value="SUBMIT" class="button1" name="push" />
</fieldset>
</form>
这是 EvaluationPropSemi_.php 代码:
<?php
session_start();
require_once("conn.php");
ini_set( "display_errors", 0);
if(isset($_POST['push'])){
for($i=0;$i<count($_POST['torates']);$i++){
echo $_POST['activ'][$i];
echo $_POST['employ'][$i];
echo $_POST['torates'][$i];
echo $_POST['rad'][$i];
$emp=$_POST['employ'];
$act=$_POST['activ'];
$areas=$_POST['torates'][$i];
$score=$_POST['rad'][$i];
$insert="insert into tbl_semiresults (evaluator, toevaluate, areastorate, score) values ('$act','$emp','$areas','$score');";
$insertrs=mysqli_query($con,$insert);
$insertrows=mysqli_fetch_array($insertrs);
}
}
?>
代码有什么问题?谢谢!!!!!!
【问题讨论】:
-
您在表单中使用
rad[<?php echo $raterows['idtbl_torateareas'];?>]并尝试通过$_POST['rad'][$i]访问它。那么,$raterows['idtbl_torateareas'] 的值是多少? -
对不起,先生。是否以错误的方式访问它?应该如何? :( 顺便说一句,值已输入到我的数据库中,只是 - 值跳跃并且一些被省略。通过 $_POST['rad'][$i] 访问它是否与它有关。谢谢先生。我我刚开始学习编码。@hellcode