使用mysql和php记录来宾和学生的出席情况

使用mysql和php记录来宾和学生的出席情况,php,mysql,Php,Mysql,我正在尝试使用PHP和MySQL跟踪学生和来宾的出勤情况 我有三张桌子:学生桌、客人桌和出勤桌 学生:学生证|名|姓|年级 嘉宾:嘉宾id |名|姓|年级 出席人数:id |出席人数|学生id |客人id 考勤表中的student_id和guest_id是外键,分别引用guests表和student表中的guest_id和student_id 该网页显示一个表格,列出学生和来宾,每个姓名旁边都有一个复选框。提交表单时,$\u POST数据将包含在场的学生和来宾 我想根据此人是学生还是客人来填充g

我正在尝试使用PHP和MySQL跟踪学生和来宾的出勤情况

我有三张桌子:学生桌、客人桌和出勤桌

学生:学生证|名|姓|年级

嘉宾:嘉宾id |名|姓|年级

出席人数:id |出席人数|学生id |客人id

考勤表中的student_id和guest_id是外键,分别引用guests表和student表中的guest_id和student_id

该网页显示一个表格,列出学生和来宾,每个姓名旁边都有一个复选框。提交表单时,$\u POST数据将包含在场的学生和来宾

我想根据此人是学生还是客人来填充guest_id或student_id外键字段。当我提交表单时,$\u POST数据以表单的形式出现

$\u POST['guest{guest\u id}]=guest\u id和 $\u POST['student{student\u id}]=student\u id

例如$\u POST['student11']=11和$\u POST['guest52']=52

。如何获取此帖子数据并确定条目是客人还是学生

我的表格编号是:

<form class="form" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
        <table class="table">
            <tr>
                <th class="col-md-2 col-sm-2 col-xs-2"></th>
                <th class="col-md-8 col-sm-8 col-xs-8">Name</th>
                <th col-md-2 col-sm-2 col-xs-2>Grade</th>
            </tr>
            <tr>
                <td></td><td><strong>---Students---</strong></td><td></td>
            </tr>

            <?php

            if( mysqli_num_rows($studentResult) > 0 ) {
                while( $row = $studentResult->fetch_assoc() ) {
                    echo "<tr>";
                    echo "<td>" . '<input type="checkbox" name="student' . $row['id'] . '"' . 'value="' . $row['id'] . '">';
                    echo "<td>" . $row['first_name'] . " " . $row['last_name'] . "</td><td>" . $row['grade'] . "</td>";
                    echo "</tr>";
                }
            } else { // if no entries
                echo "<div class='alert alert-warning'>You have no students!</div>";
            }

            ?>
            <tr>
                <td></td><td><strong>---Guests---</strong></td><td></td>
            </tr>
            <?php

            if( mysqli_num_rows($guestResult) > 0 ) {
                while( $row = mysqli_fetch_assoc($guestResult) ) {
                    echo "<tr>";
                    echo "<td>" . '<input type="checkbox" name="guest' . $row['id'] . '"' . 'value="' . $row['id'] . '">';
                    echo "<td>" . $row['first_name'] . " " . $row['last_name'] . "</td><td>" . $row['grade'] . "</td>";
                    echo "</tr>";
                }
            }
            mysqli_close($conn);
            ?>
        </table>
        <div class="col-xs-12 col-sm-4 col-sm-offset-4 col-md-4 col-md-offset-4 col-lg-4 col-lg-offset-4">
            <button class="btn btn-primary btn-lg" type="submit" name="submit">Submit</button>
        </div>    
    </form>

我能够弄清楚如何解释我是在和学生还是客人打交道。我迭代了$\u POST变量,并解析了$\u POST数据的键,以确定我是在处理学生还是客人。根据该结果,我使用$\u POST数据的值将记录插入考勤表,以设置学生id或客人id。以下是代码:

<?php
  if(isset($_POST['submit'])){
    foreach($_POST as $key=>$value){
      if($key[0]=="s" && $key[1]=="t"){//$_POST data is a student and not guest or submit

        //Submit record to attendance table using the $value as the student_id
      }
      if($key[0]=="g"){//$_POST data is a student and not guest or submit

        //Submit record to attendance table using the $value as the guest_id
      }       
    }
  }
?>

似乎有点宽泛。我们能把范围缩小一点吗?@tcadidot0大概,下层选民只会重复我已经说过的话。数据库开发人员倾向于避免冗余。我编辑了描述,希望它能澄清我在哪些方面需要帮助。Ok@SirE\u net4theDownvoter