繁体   English   中英

提交表单之前的表单输入值

[英]form input value before Submit the Form

我正在编写一个考勤系统,其中将显示部门工作人员的姓名,并且用户将通过单选按钮选择相应的考勤。 我想将出勤记录写在mysql数据库中。 为此,我试图准备一个数组,在该数组中我无法传递所选单选按钮的值。 请帮忙。 示例代码如下:

<?php 
$qry1="select * from master where office='ECZO_IT' order by cadre desc,srno";
$result1=mysql_query($qry1,$con);

$sl=1;
echo "<form method='post' action=''>";
echo "<table align='center' border='1' cellpadding='0' cellspacing='0' style='border-    collapse: collapse' bordercolor='#111111' width='800' id='AutoNumber1' height='219'>";
echo "<tr><th colspan='14' bgcolor='#C0C0C0' align='center'>Attendance Report</th></tr>";
echo "<tr bgcolor='#C0C0C0' align='center'><th>Sl.</th>";
echo "<th >SR No.</th>";
echo "<th>Name</th>";
echo "<th>Designation</th>";
echo "<th colspan='10' align='center'>Attendance</th></tr>";
while ($data=mysql_fetch_row($result1))
{
echo "<tr><td align='center'>$sl</td>";
echo "<td align='center'>$data[0]</td>";
echo "<td>$data[1]</td>";
echo "<td align='center'>$data[4]</td>";
echo "<td bgcolor='#C0C0C0' align='center'>Present</td>";
echo "<td><input type='radio' name='r1[$sl]' value='PRESENT' id='at' checked></td>";
echo "<td bgcolor='#C0C0C0' align='center'>Training</td>";
echo "<td><input type='radio' name='r1[$sl]' value='TRAINING' id='at'></td>";
echo "<td bgcolor='#C0C0C0' align='center'>Tour</td>";
echo "<td><input type='radio' name='r1[$sl]' value='TOUR' id='at'></td>";
echo "<td bgcolor='#C0C0C0' align='center'>Leave</td>";
echo "<td><input type='radio' name='r1[$sl]' value='LEAVE' id='at'></td>";
echo "<td bgcolor='#C0C0C0' align='center'>Absent</td>";
echo "<td><input type='radio' name='r1[$sl]' value='ABSENT' id='at'></td></tr>";
$out[]= array ('srno' => $data['0'], 'ename' => $data[1], 'att' => $_POST['r1']);
$sl=$sl+1;
}
echo "</table>";
echo "<p align='center'><input type='submit' name ='s1' value='Submit'></p>";
echo "</form>";
foreach($out as $row)
{
echo $row['srno'].'----'.$row['ename'].'----'.$row['att']."<br/>";
}
?>

请建议是否还有其他出路

笔记:

我试图更改数组如下

$out = array ('srno' => $data['0'], 'ename' => $data[1], 'att' => $_POST['r1']);

修改之前的结果是这样的:

343587 ---- SUNIL PRASAD OJHA ----阵列

343607 ---- MUKESH KUMAR JHA ----阵列

343701 ---- PRABHAT RANJAN ----数组

修改后的结果如下:3 ---- 3 ---- 3

P ---- P ---- P

我还尝试通过以下代码在foreach循环中检查输出:

echo var_dump($out['att']);

但结果只显示NULL

请帮忙

我可以通过以下方式访问您的单选按钮的值:

var_dump($out[0]['att']);

通过以下方式更正数组:

 $out = array ('srno' => $data['0'], 'ename' => $data[1], 'att' => $_POST['r1']); //removed [] from $out

将其作为:

 echo $out['att'][1];

1是因为您的单选按钮是一个输入数组,而您的$ sl值为1

我不知道为什么需要foreach循环,但是您也可以这样使用它:

$data[1]='test';
$data2[1]='test2';
$out= array ('srno' => $data, 'ename' => $data2, 'att' => $_POST['r1']);
$i=1;
foreach($out as $key=>$val)
{
echo $key.'='.$val[$i]."<br/>";
}

//Prints: srno=test
//        ename=test2
//        att=TRAINING

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM