首页 > 解决方案 > 如何使用html和php表单在sql表中添加多个数据

问题描述

你好我是这里的初学者。我的 SQL 表中有这样的记录

id    name_id    score
1     N_1         98
2     N_3         78
3     n_3         68

我有一组 HTML 和 PHP 代码,显示一个表格,其中每个 ID 和名称旁边都有一个输入字段,看起来像
CONSIDER [] AS INPUT FIELDS

ID     NAME       SCORE
N_4    James      []
N_5    Kit        []
N_6    Chino      []

当我把一些分数放进去就像

ID     NAME       SCORE
N_4    James      [98]
N_5    Kit        [76]
N_6    Chino      [81]

我的 SQL 表应该是这样的

id    name_id    score 
1     N_1         98
2     N_2         78
3     N_3         68
4     N_4         98
5     N_5         76
6     N_6         81

但不是在我的 SQL 表中插入 3 行数据,而是作为一个插入,看起来像这样

id    name_id    score 
1     N_1         98
2     N_2         78
3     N_3         68
4     N_4         98

我应该怎么办?这是我的一些代码

<?php $sql = "SELECT l_name, f_name, m_name, sid FROM tbl_student WHERE section='".$_POST['section']."';"; ?>
                        <table class="table table-striped">
                        <thead>
                            <tr>
                                <th>ID</th>
                                <th>NAME</th>
                                <th>Score</th>
                            </tr>    
                        </thead>
                        <tbody>
                                <?php $result = mysqli_query($db, $sql);
                                    while ($resultset = mysqli_fetch_assoc($result)){ ?>
                                    <tr>
                                    <form method="post">
                                    <td><?php echo $resultset ['sid']; ?></td>
                                    <td style="text-transform:capitalize;"><?php echo $resultset ['l_name']; echo ", "; echo $resultset ['f_name']; echo " "; echo $resultset ['m_name'];?></td>
                                    <td><input type="text" style="width:50px;" name="grade"></td>
                                    <input type="hidden" name="id" value="<?php echo $resultset ['sid']; ?>">
                                    </tr>
                                <?php } ?>
                        </tbody>
                        </table> 
                                    <button class="pull-right btn btn-info" type="submit" name="submit_tbl_grade">SAVE</button>
                                    </form>
                    <?php } ?>
                        <?php if(isset($_POST['submit_tbl_grade'])){
                            $name = $_POST['grade'];
                            $id =   $_POST['id'];
                            $record = "INSERT INTO tbl_grade(stud_id,component_value) VALUES ($id,$name)";
                            mysqli_query($db,$record);

标签: phphtmlmysql

解决方案


更改您的输入标签,如下所示。

<input type="text" style="width:50px;" name="grade[]">
<input type="hidden" name="id[]" value="<?php echo $resultset ['sid']; ?>">

然后您可以访问如下值,

$name = $_POST['id'][0]
$id = $_POST['grade'][0]

使用循环,您可以访问这些值并将它们插入数据库。


推荐阅读