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
相关产品推荐
相关产品推荐

