You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ajax功能异常:选择分类后仅显示表格表头无数据记录

问题排查与修复方案

嘿,我帮你找到了导致数据不显示的几个关键问题,咱们一步步来解决:

1. 下拉菜单传递的参数不匹配

你在HTML的下拉选项里,把value设成了$riga[nome_gruppo],但后端是要根据tipologia来筛选数据的!这就导致你选完分类后,传给2.php的q参数是组名,而不是分类名称,自然查不到对应的数据。

修改HTML里的option行:

echo "<option value='$riga[tipologia]'> $riga[tipologia] </option>";

2. 后端未正确获取GET参数

在2.php里,你直接使用了$q变量,但这个变量根本没被定义!你需要先从GET请求里获取传递过来的参数:

在2.php的开头加上:

$q = $_GET['q'];

另外,为了避免SQL注入风险(虽然是基础场景,但好习惯要养成),可以对参数做转义处理:

$q = mysql_real_escape_string($_GET['q']);

3. 额外优化:废弃的mysql扩展

顺便提一句,mysql_*系列函数已经被PHP官方废弃了,建议换成mysqli或者PDO来操作数据库,这样更安全也更兼容新版本的PHP。比如换成mysqli的话,连接代码可以改成:

$con = mysqli_connect($dbhost, $dbuser, $dbpsw, $dbname);

对应的查询和获取数据的函数也要换成mysqli_query、mysqli_fetch_array等。

为什么去掉WHERE子句就正常?

因为去掉WHERE后,SQL查询的是表中所有数据,不需要依赖任何参数,所以能正常显示;但加上WHERE后,由于参数传递错误+未获取参数,导致查询条件不成立,自然查不到任何数据,就只显示表头了。


内容的提问来源于stack exchange,提问作者Vincenzo Bovino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:40:05