对于“修改”模式,我发起对名为ajax
的{{1}}脚本的php
调用,该脚本带来表getSelectedMember.php
中的信息(表2)。
items
此<?php
require_once 'db_connect.php';
$memberId = $_POST['member_id'];
$sql = "SELECT * FROM items WHERE itemID = $memberId";
$query = $connect->query($sql);
$result = $query->fetch_assoc();
echo json_encode($result);
?>
在表formulation_fk
中是另一个名为items
的表中的select选项的值(表1)。
这是'edit.php'的代码:
formulation
我的问题是在更新单个项目时,如何在我的编辑表单中的<form action=" " method="POST">
<div>
<label>Name</label>
<input type="text"><br>
</div>
<div>
<label>Formulation</label>
<select id="editFormulation">
</select>
</div>
<button type = "submit">Save changes</button>
</form>
表格中传递select
个选项,其中选择formulation
将是option value
来自表formulation_fk
?
这是我的items
电话:
ajax
为了澄清我的问题,我们认为要编辑$.ajax({
url: 'getSelectedMember.php',
type: 'post',
data: {
member_id: itemID
},
dataType: 'json',
success: function(response) {
$("#editName").val(response.name);
$("#editFormulation").val(response.formulation_fk);
$(".editMemberModal").append( ? ? ? ? ? ? )
}
});
,行动流程将是这样的:
答案 0 :(得分:1)
除了formulation_fk
表中的items
之外,PHP代码还需要返回所有公式的数组。
$memberId = $_POST['member_id'];
$sql = "SELECT * FROM items WHERE itemID = $memberId";
$query = $connect->query($sql);
$result = $query->fetch_assoc();
$sql = "SELECT * FROM formulation";
$query = $connect->query($sql);
$formulations = array();
while ($row = $query->fetch_assoc()) {
$formulations[] = $row;
}
$result['formulations'] = $formulations;
echo json_encode($result);
然后,AJAX代码可以在设置其值之前填写<select>
。
success: function(response) {
$("#editFormulation").empty(); // Clear out previous value
$.each(response.formulations, function() {
$("#editFormulation").append($("<option>", {
value: this.formulationID,
text: this.formulation_name
}));
});
$("#editFormulation").val(response.valuation_fk);
$("#editName").val(response.name);
}