我是 PHP 和 SQL 的新手,并且想知道什么是解决我问题的最佳方法。
我目前有一个 PHP 页面( profile.php ),其中包含以下三个选择查询:
$academic = "SELECT * FROM t12019 WHERE `Student ID` = {$id}";
$resultb = mysqli_query($conn,$academic);
$stoplight = "SELECT * FROM t1stoplight19 WHERE `Student ID` = {$id}";
$resultc = mysqli_query($conn,$stoplight);
$attendance = "SELECT * FROM t1attendance2019 WHERE `Student ID` = {$id}";
$resultd = mysqli_query($conn,$attendance);
$id
来自上一页的$_POST
选择。
每个查询的表均已编码,但是,我希望它们是一个变量,可以从页面上的下拉菜单中进行选择。
我想象的是 profiles.php 上的选择框,用户可以在其中选择“ 术语1 ”,“ 术语2”之一。 strong>”,“ 第三学期”,“ 第四学期”。然后,将针对每个查询的表进行相应更新以供选择。
任何帮助表示赞赏。
答案 0 :(得分:0)
在下拉菜单中,通过javascript提交表单并更新相应的代码。请参考下面的示例代码。
HTML代码:
<form action="update.php" id="updateFrm" method="post">
<input type="hidden" name="id" value="<?php echo $id; ?>">
<select name="term" id="term" onchange="updateTable()">
<option value="term_1">Term 1</option>
<option value="term_2">Term 2</option>
<option value="term_3">Term 3</option>
<option value="term_4">Term 4</option>
</select>
</form>
jQuery代码:
<script type="text/javascript">
function updateTable() {
document.getElementById("updateFrm").submit();
}
</script>
PHP代码:
<?php
$id = $_POST['id'];
$term = $_POST['term'];
if($term == 'term_1'){
$sql = "UPDATE t12019 ". "SET field1 = $term ".
"WHERE `Student ID` = $id" ;
$retval = mysqli_query( $conn, $sql );
if(! $retval ) {
die('Could not update data: ' . mysqli_error($conn));
}
echo "Updated data successfully\n";
}else if($term == 'term_2'){
$sql = "UPDATE t1stoplight19 ". "SET field1 = $term ".
"WHERE `Student ID` = $id" ;
$retval = mysqli_query( $conn, $sql );
if(! $retval ) {
die('Could not update data: ' . mysqli_error($conn));
}
echo "Updated data successfully\n";
}.....and so on.
?>