首页 > 解决方案 > 过滤来自 html 值输入的查询数据

问题描述

我有一个带有基本上列出汽车名称的过滤器的 HTML 页面。当用户在过滤器中选择一个值时,我想显示与该值关联的数据,这些数据来自我的 PostgreSQL 数据库。我附上了下面的代码。在向用户呈现页面并从过滤器中选择一个值的那一刻,目前没有任何东西出现,不知道为什么。欢迎任何帮助谢谢

<html>
<select id="filter">
    <option>All</option>
    <option>BMW</option>
    <option>Mercedes</option>
</select>

<?php
$db_connection = pg_connect("host=localhost dbname=postgres user=postgres password=postgres");

$feild_value = $_POST["filter"];
// you can use this  $feild_value variable in query;
$result = pg_query($db_connection, "SELECT * from cars where car_name= $feild_value;");
//echo query result here
while($row = pg_fetch_array($result))
echo $result;
die;
?>
    
<script>
$(document).ready(function()
{
var value = $("#filter").val();
$.ajax({
type:"POST",
data:{"filter":value},
success:function(result){alert(result);}
})

});
</script>

</html>

标签: phphtmlajax

解决方案


您的代码中有几件事您应该注意。

首先,该die()函数将在其余代码执行和输出之前停止 PHP 代码。其次,$result = pg_query($db_connection, "SELECT * from cars where car_name=$feild_value;");应该 $result = pg_query($db_connection, "SELECT * from cars where car_name='$feild_value;'");

注意 SQL 语句中的单引号$field_value


推荐阅读