我是 PHP 编程和后端工作的新手。我知道我在做什么,但无法在网上找到与我的情况相符的正确解决方案。
基本上,我有一个表单(2 个文本字段,3 个下拉列表)来过滤我从 SQL Server 获取的数据(有效)。但是,当我按下“过滤器”按钮并获得所需的结果时,页面会重新加载并重置表单。现在我有了过滤后的记录,但我不知道我用什么过滤器来得到它。
我可以插入一个<?php ... ?>if else,但问题是我已经在使用 php 来获取下拉值。不要以为我可以把 php 放在 php 里面。通过包含 if-else 我的意思是:
echo '<option value="' . $row['status'] . '"' . if($prod_status == $row['status']): echo ' selected="selected"' . '>' . $row['status'] . '</option>';
这是代码:
<label for="prod_status_filter">Prod Status</label>
<select class="form-control" id="prod_status_filter" name="prod_status_filter">
<?php
$query_status = 'select DISTINCT status FROM analytics.laborrecords ORDER BY status ASC';
$result = sqlsrv_query($conn, $query_status);
while ($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC))
{
echo '<option value="' . $row['status'] . '">' . $row['status'] . '</option>';
}
?>
</select>
这是下拉菜单之一。
我想要:
1. 停止页面重新加载,以便过滤器下拉列表保持不变。(AJAX 不起作用,我有 3 个下拉菜单,其中有很多选项,制作这么多 getElementById 行似乎不是一个好习惯)
2. 让页面重新加载,但保持我设置的值直到我想要使用“重置”按钮重置它们。
回首忆惘然