根据下拉选择填充多个SQL查询

时间:2019-04-15 06:05:43

标签: php mysql

我是 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>”,“ 第三学期”,“ 第四学期”。然后,将针对每个查询的表进行相应更新以供选择。

任何帮助表示赞赏。

1 个答案:

答案 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.


?>