从每行中选择一个单选按钮,然后将其提交到数据库mysqli


select one radio button from each row and then submit it to database mysqli

    <?php
    include('connect.php');
    $query=mysqli_query($conn,"select * from users") or die("unable to connect");
    ?>
    <html>
    <head>
    </head>
        <body>

            <h2 align="center"> student list</h2>
            <form action="radio.php" method="post"> 
            <table align="center" border="1" cellspacing="0" cellpadding="0" width="700">
                <thread>
                    <td align='center'>id</td>
                    <td align='center'>enrolloment_no</td>
                    <td align='center'>first_name</td>
                    <td align='center'>last_name</td>
                    <td align='center'>attendance&nbsp;&nbsp;&nbsp;</td>
                        </thread>
            <?php
                $i=1;
                while($row=mysqli_fetch_array($query,MYSQLI_BOTH))
                    {
                    echo "<tr>
                    <td align='center'>".@$i."</td>
<td align='center'>".@$row['enrolloment_no']."</td>
<td align='center'>".@$row['first_name']."</td>
<td align='center'>".@$row['last_name']."</td>
<td align='center'>

<input type='"radio'" name='"a'" value='"present'">present
<input type='"radio'" name='"a'" value='"absent'">absent
</tr>
";
            $i++;
                        }   
                ?>
                </table>
                <input type="submit" value="submit">
                        </form>
                </body>

        </html>

上面提到的代码包含一个包含单选按钮的出勤页面表单,但在上述代码的主要问题是我无法从每一行选择单选按钮,因为我需要从每一行选择单选按钮,这是学生将出席或缺席,所以请如果有人有任何建议如何选择一个单选按钮存在或缺席从每一行,然后提交到数据库。

您可以创建一个逐行递增的数字,或者更好的是,将该整数设置为数据库中行对应的标识符。

添加name="rowIDs[]" &值= " {theIdentifier}"。

当你将行单选按钮的名称设置为"a_{theIdentifier}"时,你可以在PHP脚本中运行foreach。

这可能是你要找的吗?

全局示例:

 $i=1;
    while($row=mysqli_fetch_array($query,MYSQLI_BOTH)){
       echo "<tr>
       <td align='center'>".@$i."</td>
       <td align='center'>".@$row['enrolloment_no']."</td>
       <td align='center'>".@$row['first_name']."</td>
       <td align='center'>".@$row['last_name']."</td>
       <td align='center'>
         <input type='"hidden'" value='"".$row['enrolloment_no']."'" name='"rowIDs[]'" />
         <input type='"radio'" name='"a_".$row['enrolloment_no']."'" value='"present'">present
         <input type='"radio'" name='"a_".$row['enrolloment_no']."'" value='"absent'">absent
       </td>
       </tr>
       ";
       $i++;
   } 

现在在提交中:

$rowIDs = $_POST['rowIDs'];
foreach($rowIDs as $rowID) {
   $radioButtonValue = $_POST['a_'.$rowID];
   mysqli_query("update `yourtable` SET `attendance` = '".$radioButtonValue."' WHERE `enrolloment_no` = '".$rowID."'");
}

(要做到这一点,将$i替换为$row[' enrollment oment_no'])

ps我刚才编辑的时候犯了一些错误。

当您在表单的顶部或底部添加这些输入时…而是在表单标签中现在
没有
使用master考勤
然后在提交php部分:

if(isset($_POST['useMasterAttendance'])) {
  $masterAttendanceValue = $_POST["masterAttendance"];
  $rowIDs = $_POST['rowIDs'];
  foreach($rowIDs as $rowID) {
     mysqli_query("update `yourtable` SET `attendance` = '".$masterAttendanceValue."' WHERE `enrolloment_no` = '".$rowID."'");
  }
}else {
//DO THE CODE FOR EACH ROW LIKE ABOVE
}

对不起,如果我写错了