蓝极冰焰 2024-06-21 17:51 采纳率: 40%
浏览 12
已结题

关于php录入完成后,批量更新数据库

<?php
 foreach ($xmorder as $xmrow) {
                $nr_1 = htmlspecialchars($xmrow['nr_1']);
                $nr_2 = htmlspecialchars($xmrow['nr_2']);
                $nr_3 = htmlspecialchars($xmrow['nr_3']);
                $nr_4 = htmlspecialchars($xmrow['nr_4']);
                
                echo "<div><form>
                <button class='btn-primary' type='submit' id='tg' name='tg'>通过</button> 
                <button class='btn-secondary' type='submit' id='wks' name='wks'>未考试</button>";

                // 输出表格
                echo "<table style='font-size: 10px;background:#f2f2f2'>";
                echo "<tr>";
                echo "<th style='width: 5%;background:#8eb832'>分组</th>";
                echo "<th style='width: 5%;background:#8eb832'>顺序</th>";
                echo "<th style='width: 17%;background:#8eb832'>姓名</th>";
                echo "<th style='width: 5%;background:#8eb832'>性别</th>";
                echo "<th style='width: 5%;background:#8eb832'>服装</th>";
                echo "<th style='width: 12%;font-size: 8px;background:#8eb832'>{$nr_1}</th>";
                echo "<th style='width: 12%;font-size: 8px;background:#8eb832'>{$nr_2}</th>";
                echo "<th style='width: 12%;font-size: 8px;background:#8eb832'>{$nr_3}</th>";
                echo "<th style='width: 12%;font-size: 8px;background:#8eb832'>{$nr_4}</th>";
                echo "<th style='width: 15%;background:#8eb832'>结果</th>";
                echo "</tr>";
            }
                // 遍历当前分组中的记录来构建表格行
                foreach ($xuorder as $row) {
                    $zu = htmlspecialchars($row['zu']);
                    $xu = htmlspecialchars($row['xu']);
                    $xingming = htmlspecialchars($row['xingming']);
                    $xingbie = htmlspecialchars($row['xingbie']);
                    $id = htmlspecialchars($row['id']);
                    $record_0 = htmlspecialchars($row['record_0']);
                    $record_1 = htmlspecialchars($row['record_1']);
                    $record_2 = htmlspecialchars($row['record_2']);
                    $record_3 = htmlspecialchars($row['record_3']);
                    $record_4 = htmlspecialchars($row['record_4']);
                    
                    // 输出表格行
                    echo "<tr style='font-size:10px; height:40px'>";
                    echo "<td>{$zu}</td>";
                    echo "<td>{$xu}</td>";
                    echo "<td style='font-size:12px;'>
                    <input type='checkbox' name='ids[]' value='{$id}'>
                    {$xingming}</td>";
                    echo "<td>{$xingbie}</td>";
                    echo "<td><select name='xm_0' id='xm_0' style='width:40px; height:20px;'>
                    <option value='{$record_0}'>{$record_0}</option>
                    <option value='X'>X</option>
                    <option value='\'>\</option>
                </select></td>";
                    echo "<td><select name='xm_1' id='xm_1' style='width:40px; height:20px;'>
                    <option value='{$record_1}'>{$record_1}</option>
                    <option value='\'>\</option>
                    <option value='X'>X</option>
                    <option value='√'></option>
                </select></td>";
                    echo "<td><select name='xm_2' id='xm_2' style='width:40px; height:20px;'>
                    <option value='{$record_2}'>{$record_2}</option>
                    <option value='\'>\</option>
                    <option value='X'>X</option>
                    <option value='√'></option>
                </select></td>";
                    if ($xiangmu == "速度轮滑") {
                        // 检查$dengji是否包含5到9中的任意一个
                        $dengji_array = explode(",", $dengji);
                        $is_valid_grade = false;
                        foreach (range(5, 9) as $grade) {
                            if (in_array((string)$grade, $dengji_array)) {
                                $is_valid_grade = true;
                                break;
                            }
                        }
                        
                        if ($is_valid_grade) {
                            echo "<td>
                                    <input type='text' name='xm_3' id='xm_3' value='{$record_3}' style='width:50px;' >
                                  </td>";
                        } else {
                            // 其他情况的默认输出
                            echo "<td> 
                                    <select name='xm_3' id='xm_3' style='width:40px; height:20px;'>
                                        <option value='{$record_3}'>{$record_3}</option>
                                        <option value='\'>\</option>
                                        <option value='X'>X</option>
                                        <option value='√'></option>
                                    </select>
                                  </td>";
                        }
                    } elseif ($xiangmu == "自由式轮滑") {
                        // 检查$dengji是否包含4S到9S中的任意一个
                        $dengji_array = explode(",", $dengji);
                        $is_valid_grade = false;
                        foreach (range(4, 9) as $grade) {
                            if (in_array("{$grade}S", $dengji_array)) {
                                $is_valid_grade = true;
                                break;
                            }
                        }
                        
                        if ($is_valid_grade) {
                            echo "<td>
                                    <input type='text' name='xm_3' id='xm_3' value='{$record_3}' style='width:50px;' >
                                  </td>";
                        } else {
                            // 其他情况的默认输出
                            echo "<td> 
                                    <select name='xm_3' id='xm_3' style='width:40px; height:20px;'>
                                        <option value='{$record_3}'>{$record_3}</option>
                                        <option value='\'>\</option>
                                        <option value='X'>X</option>
                                        <option value='√'></option>
                                    </select>
                                  </td>";
                        }
                    } else {
                        // 其他情况的默认输出
                        echo "<td> 
                                <select name='xm_3' id='xm_3' style='width:40px; height:20px;'>
                                    <option value='{$record_3}'>{$record_3}</option>
                                    <option value='\'>\</option>
                                    <option value='X'>X</option>
                                    <option value='√'></option>
                                </select>
                              </td>";
                    }
                    
                    echo "<td><select name='xm_4' id='xm_4' style='width:40px; height:20px;'>
                    <option value='{$record_4}'>{$record_4}</option>
                    <option value='\'>\</option>
                    <option value='X'>X</option>
                    <option value='√'></option>
                </select></td>";
                    echo "<td>
                    <input type='hidden' id='id' name='id' value='{$id}'>
                    <button style='height:20px;width:40px;padding:1px;font-size:9px;' type='submit' id='bk' name='bk'>补考</button><br>
                    <button style='height:20px;width:40px;padding:1px;font-size:9px;' type='submit' id='wtg' name='wtg'>未通过</button>";

                    if ($xiangmu == "速度轮滑") {
                        // 检查$dengji是否包含5到9中的任意一个
                        $dengji_array = explode(",", $dengji);
                        $is_valid_grade = false;
                        foreach (range(5, 9) as $grade) {
                            if (in_array((string)$grade, $dengji_array)) {
                                $is_valid_grade = true;
                                break;
                            }
                        }
                        
                        if ($is_valid_grade) {
                            echo "<br><button style='height:20px;width:40px;padding:1px;font-size:9px;' type='submit' id='lr' name='lr'>录入</button>";
                        }
                    } elseif ($xiangmu == "自由式轮滑") {
                        // 检查$dengji是否包含4S到9S中的任意一个
                        $dengji_array = explode(",", $dengji);
                        $is_valid_grade = false;
                        foreach (range(4, 9) as $grade) {
                            if (in_array("{$grade}S", $dengji_array)) {
                                $is_valid_grade = true;
                                break;
                            }
                        }
                        
                        if ($is_valid_grade) {
                            echo "<br><button style='height:20px;width:40px;padding:1px;font-size:9px;' type='submit' id='lr' name='lr'>录入</button>";
                        } 
                    }
                    
                    echo "</td></tr>";
                }
                echo "</table></form>";
                echo "</div>";
?>

<script>// 补考信息异步传递
        $(document).ready(function() {
            $('#lr').click(function(event) {
                event.preventDefault(); // 阻止表单的默认提交行为
                // 获取用户输入
                var id = $('#id').val();
                var xm_3 = $('#xm_3').val();
                var xm_4 = $('#xm_4').val();

                // 发送Ajax请求到服务器
                $.ajax({
                    url: 'kgrw_update_lr.php',
                    type: 'POST',
                    data: {
                        id: id,
                        xm_3: xm_3,
                        xm_4: xm_4

                    },
                    success: function(response) {
                        // 在成功回调中处理服务器返回的数据
                        $('#top_t-content').html(response); 
                    },
                    error: function(xhr, status, error) {
                        // 处理错误情况
                        alert('查询失败: ' + error);
                    }
                });
            });
        });
    </script>

请问如何修改,可以实现录入完成后点击“录入”,即可实现更新不同行里的数据(将录入的区域input值全部更新到数据库)?

  • 写回答

24条回答 默认 最新

  • 阿里嘎多学长 2024-06-21 17:51
    关注
    获得0.40元问题酬金

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    要实现点击“确认录入”按钮后批量更新数据库的功能,你需要在update_record.php文件中添加处理表单提交的逻辑。以下是实现此功能的步骤和示例代码:

    1. 接收表单数据:首先,你需要在update_record.php中接收从表单提交的数据。

    2. 遍历数据并更新数据库:然后,遍历接收到的数据,并使用PDO的prepareexecute方法来更新数据库。

    3. 处理表单提交:你需要为“确认录入”按钮指定的name属性值创建一个条件,以区分是哪种操作。

    以下是一个简化的示例代码,展示如何实现这些步骤:

    <?php
    // 假设你已经建立了PDO连接,并将其存储在$pdo变量中
    
    // 检查是否是POST请求
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        // 检查是否点击了“确认录入”按钮
        if (isset($_POST['lr'])) {
            // 获取所有选中的记录ID
            $ids = $_POST['ids'] ?? [];
    
            // 遍历所有选中的记录ID
            foreach ($ids as $id) {
                // 构建更新语句
                $updateStmt = $pdo->prepare("UPDATE record SET 
                    record_0 = :record_0, 
                    record_1 = :record_1, 
                    record_2 = :record_2, 
                    record_3 = :record_3, 
                    record_4 = :record_4, 
                    status = '已操作' 
                    WHERE id = :id");
    
                // 从POST数据中获取对应的记录值
                $recordData = [
                    'record_0' => $_POST['xm_0'][$id] ?? '',
                    'record_1' => $_POST['xm_1'][$id] ?? '',
                    'record_2' => $_POST['xm_2'][$id] ?? '',
                    'record_3' => $_POST['record_3'][$id] ?? '',
                    'record_4' => $_POST['xm_4'][$id] ?? '',
                    'id' => $id
                ];
    
                // 执行更新操作
                $updateStmt->execute($recordData);
            }
    
            // 操作完成后的反馈或重定向
            echo "更新成功!";
            // 或者使用header函数进行页面重定向
            // header("Location: your_redirect_page.php");
        }
    }
    ?>
    

    请注意,这个示例假设你的表单中的name属性已经正确设置,以便可以通过$_POST['name']获取到数组形式的数据。另外,确保你的update_record.php文件中的逻辑能够正确处理所有可能的输入,并进行适当的错误检查和处理。

    最后,确保你的表单提交到update_record.php,并且按钮的name属性设置为lr,以便上面的代码能够正确识别是“确认录入”的操作。

    如果你需要更详细的帮助或有特定的问题,请随时提问。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 6月29日
  • 修改了问题 6月21日
  • 创建了问题 6月21日

悬赏问题

  • ¥30 这个功能用什么软件发合适?
  • ¥60 微信小程序,取消订单,偶尔订单没有改变状态
  • ¥15 用pytorch实现PPO算法
  • ¥15 关于调制信号的星座图?
  • ¥30 前端传参时,后端接收不到参数
  • ¥15 这是有什么问题吗,我检查许可证了但是显示有呢
  • ¥15 机器学习预测遇到的目标函数问题
  • ¥15 Fluent,液体进入旋转区域体积分数不连续
  • ¥15 java linux下将docx文件转pdf
  • ¥15 maven无法下载依赖包