【发布时间】:2017-06-14 20:53:00
【问题描述】:
我只使用 php 和 bootstrap 进行 CRUD 操作。我目前卡在更新中,因为我似乎无法将 $_GET['updateid'] 发送到我的模式。
这是我的 href,删除 href 有效,但更新 无效。
<a href="#myModal?updateid=<?php echo $row['sched_id'];?>" data-toggle="modal"
class="btn btn-warning" data-target="#myModal">Update</a>
<a href="home.php?deleteid=<?php echo $row['sched_id'];?>" class="btn btn-danger">Delete</a>
这个 php 应该从 href 中获取 updateid 并将其传递给 updateStud() 函数
if(isset($_GET['updateid'])){
$mupdate_id = $_GET['updateid'];
if(isset($_POST['modal-submit'])){
$msubj = $_POST['modalsubject'];
$msect = $_POST['modalsection'];
$mday = implode("", $_POST['modalday']);
$mstrTime = $_POST['modalstarttime'];
$mendTime = $_POST['modalendtime'];
$auth_user->updateSchedule($msubj,$msect,$mday,$mstrTime,$mendTime,$mupdate_id);
$schedRow = $auth_user->readSchedule();
}
}
这是我的函数更新,它获取所有数据并执行查询
public function updateSchedule($msubj,$msect,$mday,$mstrTime,$mendTime,$mupdate_id){
$stmt = $this->conn->prepare("UPDATE `schedule`
SET `subject_db` = :msubj,
`section_db` = :msect,
`sched_day` = :mday,
`start_time` = :mstrTime,
`end_time` = :mendTime
WHERE `sched_id` = :mupdate_id ");
$stmt->bindparam(":msubj", $msubj);
$stmt->bindparam(":msect", $msect);
$stmt->bindparam(":mday", $mday);
$stmt->bindparam(":mstrTime", $mstrTime);
$stmt->bindparam(":mendTime", $mendTime);
$stmt->bindparam(":mupdate_id", $mupdate_id);
$stmt->execute();
return $stmt;
}
【问题讨论】:
-
您避免使用 Javascript 有什么原因吗?不幸的是,我认为您尝试做的事情是不可能的。删除链接是服务器请求,而模态链接是客户端请求,不会调用您的“if(isset($_GET['updateid'])){”,因为该页面实际上并未被提交。
-
我认为你在那里尝试这样做是错误的。您正在尝试将
updateidURLGET参数设置为模态锚触发链接。这不是它的工作原理。如果您想将updateid作为GET参数传递,则将其添加到表单操作属性的末尾。您可以编辑您的问题并使用完整的 html 代码进行更新吗?