You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP如何获取模态框中的id并将对应数据传递至其他编辑页面

解决方法

你可以直接在现有的Ajax请求回调里给编辑按钮赋值,因为触发模态框时你已经拿到了对应的预约ID,不需要额外改后端查询逻辑,修改步骤如下:

方案1:直接在Ajax回调中修改链接(最简单)

修改你的eventClick对应的Ajax代码,在渲染模态框内容的同时给编辑按钮的href属性赋值即可:

eventClick:  function(info) {
         var userid =  info.event.id;        

         $.ajax({
           type: "post",
           url: "calendar_action.php",
           data: {userid:userid},
           success: function (response) {
            $('.viewdetails').html(response);
            // 新增下面这行,给编辑按钮拼接href
            $('a.btn-info.userdata').attr('href', 'edit_appointment.php?id=' + userid);
            $("#AppointmentDetails").modal();
           }
         });
        },

这个方案的优点是不需要改动现有模态框结构和后端查询代码,改造成本极低。

可选补充:优化SQL查询安全性

你当前后端代码直接将用户传入的userid拼接进SQL语句,存在SQL注入风险,建议改用预处理语句查询:

if(isset($_POST['userid']))
{
    $id = $_POST['userid'];
    // 使用预处理语句避免注入
    $stmt = $conn->prepare("SELECT a.*, CONCAT(p.fname,' ',p.lname) AS pname,p.phone,p.email,d.name AS dname FROM tblappointment as a JOIN tblpatient as p ON p.id = a.patient_id JOIN tbldoctor as d ON d.id = a.doc_id WHERE a.id = ? ");
    $stmt->bind_param("i", $id);
    $stmt->execute();
    $query_run = $stmt->get_result();
    
    if(mysqli_num_rows($query_run) > 0)
    {
        foreach($query_run as $row)
        {
            // 原有渲染HTML的代码保持不变
        }
    }
    else{
        echo "<h5> No Record Found</h5>";
    }
}

内容的提问来源于stack exchange,提问作者Rose Ann

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 13:45:05