通过更换option选项改变获取表内容?

我想做个能获取指定表内容的下拉列表,参考各大网站下拉选择网站语言的那个东西。
前置条件如下,MySQL数据库中t_br表s_state有三种状态,0-未查看,1-已签收,2-已退回。
(前文已进行数据库连接,不赘述)


<select>
<option selected>未查看</option>
<option>全部</option>
<option>已签收</option>
<option>已退货</option>
</select>
<table>
<?php while($rows=mysql_fetch_assoc($rs)){
?>
<tr>
<td>快件编号</td>
<td>送达时间</td>
<td>快件类型</td>
<td>当前状态</td>
</tr>
<tr>
<td><?php echo $rows["s_id"]?></td>
<td><?php echo $rows["s_time"]?></td>
<td><?php echo $rows["s_type"]?></td>
<td><?php echo $rows["s_state"]?></td>
</tr>
<?php } ?>
(此处为分页的代码)
</table>


我自己查了一下,像网站变更语言一般用到的是js+插件,我这个网站只是毕业设计,暂时还不需要考虑插件的问题,因此做了两个设想,一种是通过option进行网页的转换,每个页面进行一次条件查询,写起来比较麻烦,另一种是直接在本页面每次切换选项进行一次查询,比较方便,但我不会。
希望答题者最好抽空教教我,需要附代码,我太笨。

1、在 HTML 中定义下拉列表框和表格。

<select id="state">
  <option value="">未查看</option>
  <option value="">全部</option>
  <option value="1">已签收</option>
  <option value="2">已退货</option>
</select>

<table id="table">
  <tr>
    <th>快件编号</th>
    <th>送达时间</th>
    <th>快件类型</th>
    <th>当前状态</th>
  </tr>
</table>

2、在 JavaScript 中使用 jQuery 的 change 事件监听下拉列表框的选项变化。

$(document).ready(function() {
  $('#state').change(function() {
    // 获取当前选中的选项的值
    var state = $(this).val();
    // 发送查询请求
    query(state);
  });
});

3、在 JavaScript 中编写 query 函数用于发送查询请求。

function query(state) {
  // 发送查询请求
  $.ajax({
    url: 'query.php',
    type: 'POST',
    data: {state: state},
    success: function(data) {
      // 处理查询结果
      updateTable(data);
    }
  });
}

4、在 query.php 中接收请求并执⾏查询。

<?php
// 连接数据库
$conn = mysql_connect('localhost', 'root', 'password');
mysql_select_db('database_name', $conn);

// 接收请求参数
$state = $_POST['state'];

// 执⾏查询
$sql = "SELECT * FROM t_br WHERE s_state='$state'";
$result = mysql_query($sql, $conn);

// 返回查询结果
$rows = array();
while ($row = mysql_fetch_assoc($result)) {
$rows[] = $row;
}
echo json_encode($rows);

// 关闭数据库连接
mysql_close($conn);
?>
  1. 在 JavaScript 中编写 updateTable 函数用于更新表格。
    function updateTable(data) {
    // 清空表格
    $('#table tr:not(:first)').remove();
    // 遍历查询结果
    $.each(data, function(index, row) {
     // 构建行元素
     var tr = $('<tr></tr>');
     tr.append($('<td></td>').text(row.s_id));
     tr.append($('<td></td>').text(row.s_time));
     tr.append($('<td></td>').text(row.s_type));
     tr.append($('<td></td>').text(row.s_state));
     // 添加行元素
     $('#table').append(tr);
    });
    }
    

切换option,发送请求给后端,后端根据option获取到数据后,重新在加载当前页面,并把数据设置到前端(类似于刷新,只不过数据是有更新的)


<select name="setSelect" id="setSelect"  onchange="getValue()">
    <option value="0" selected>未查看</option>
    <option value="1">全部</option>
    <option value="2">已签收</option>
    <option value="3">已退货</option>
</select>

jq部分

$("#setSelect").change(function(){
_//选中值_
   var opt=$("#setSelect").val();
  _//调用后台
    //成功后
    //更新数据_
})

可参考下面实例【jQuery获取下拉菜单列表option:selected选定值的两种方法】,链接:http://www.webkaka.com/tutorial/js/2019/050544/
【讲解详细,注解清晰】