gpt4 book ai didi

php - 提交表单前输入表单值

转载 作者:行者123 更新时间:2023-11-30 00:50:52 25 4
gpt4 key购买 nike

我正在编写一个考勤系统,其中将显示部门工作人员的姓名,用户将通过单选按钮选择相应的考勤。我想将考勤记录写入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

关于php - 提交表单前输入表单值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20989900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com