簡體   English   中英

將多行數據插入從另一個表獲取的數據庫中

[英]insert multiple rows data into database fetched from another table

我正在嘗試在php中建立一個在線出席者,我正在從學生表中獲取學生列表,並且想要將所有chkboxs都選中(如果選中),如果未選中,則無法這樣做。

<div class="attendance">
    <form accept="att.php" method="POST">
            <?php 
            $sel_sql = "SELECT * FROM student";
            $run_sql = mysqli_query($conn,$sel_sql);
            while($rows = mysqli_fetch_assoc($run_sql)){
                $id = $rows['id'];
                echo '<input type="checkbox" name="status" value="'.$id.'" checked>'.ucfirst($rows['f_name']).'';
            }
        ?>


        <input type="submit" name="submit_attendance" value="Post Attendance">
        <?php echo $msg; ?>
    </form>
</div>

它顯示了完美的學生列表,但我不知道如何為所有這些chkbox設置插入查詢

嘗試此查詢從另一個表插入

SELECT * INTO TABLE2 FROM student

使用學生表上的where條件作為where student.column值來選擇選中的值

將上述內容與復選框輸入字段一起應用

echo '<input type="checkbox" name="status" value="'.$id.'" 'if($row['present_field_of_database']) ? 'checked' : ''
'>'.ucfirst($rows['f_name']).'';

沒問題,然后用您的問題更新代碼,希望對您有用

    <div class="attendance">
        <form accept="att.php" method="POST">
                <?php 
                    $sel_sql = "SELECT * FROM student";
                    $run_sql = mysqli_query($conn,$sel_sql);


                    while($rows = mysqli_fetch_assoc($run_sql)){
                        $id = $rows['id'];
                        // if your $id value is right from $rows['id'] then
                       // change your student table name to the another table where available status of the student
                        $wh_sql = "SELECT * FROM student WHERE id=".$id;
                        $run_wh_sql = mysqli_query($conn, $wh_sql);
                        $Wh_rows = mysqli_fetch_assoc($run_wh_sql);
                        // add student present or absent value to the rows data
                        $rows['status'] = $Wh_rows['status'];
                    }
                        // set value as A or P respectively absent or present add jquery plugins for onclick event while client click on checkbox change value respectively
                        echo '<input type="checkbox" name="status" value="'.$rows['status'].'" 'if($rows['status'] == "A") ?'checked': '' '>'.ucfirst($rows['f_name']).' onclick= "$(this).val(this.checked ? P : A)"';
                ?>

            <input type="submit" name="submit_attendance" value="Post Attendance">
            <?php echo $msg; ?>
        </form>
    </div>
if (isset($_POST['send'])) {
        $s_id = $_POST['status'];
        $id = $_POST['student'];
        if ($s_id) {
            foreach ($s_id as $s) {
                foreach ($id as $i) {
                        if (mysqli_query($conn, "INSERT INTO attendence(s_id,status) VALUES('".
                        mysqli_real_escape_string($conn, $s)."','".
                        mysqli_real_escape_string($conn, $i)."')")) {
                            $msg =  "success";
                        }else{
                            $msg =  "failed";
                        }
                    }   


            }
        }
    }

我有3個學生。 當我按發送它發送9個條目。 我無法理解如何插入所有學生數據

這是出勤表

這是考勤表

我想放置這樣的條目,如果復選框將其貼在p上,如果沒有,它將貼在a上。 我只需要如何立即插入所有sutdent

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM