javascript - php ajax 自动完成 - 缺少完全匹配
问题描述
我有一个简单的 PHP/MySQL/Ajax 自动完成应用程序,它在用户输入时显示可用地址(就像谷歌地图一样)。
一旦用户开始添加属性编号,结果就会发生变化(例如 260 和 269 消失了)
如果用户添加额外的数字,则只有 1 个结果(数字 270-277 消失了)
这是我从数据库获取数据的代码
$search_param = "%{$this->text}%";
$query = 'SELECT * FROM (SELECT * FROM '.$this->table.' WHERE address like ?) AS x LIMIT 5,5';
$stmt = $this->conn->prepare($query);
$stmt->bindParam(1,$search_param);
$stmt->execute();
然后将结果保存在数组中
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
extract($row);
$address_item = array(
'address' => $address
);
//Push the data
array_push($address_arr['data'], $address_item);
}
解决方案
试试这个查询:
$query = 'SELECT * FROM (SELECT * FROM '.$this->table.' WHERE address like ?) AS x LIMIT 0,5';
推荐阅读
- mongodb - $lookup 双嵌套外部字段
- android - Android:删除 sd 卡上的图像
- reactjs - 调用 Axios 成功后如何更新页面?反应
- apache-kafka-streams - 使用 spring-kakfa-stream 读取 KTable 时出现 LongDeserializer 异常
- go - 如何使用 gradle 生成 go grpc 代码?
- android - Android Studio - 填充剩余的空白空间(高度?)
- java - 为什么重新排列导入会导致编译失败?
- php - 提交表单时PHP变量被截断
- javascript - 使用 Node 复制大量目录?
- javascript - ES6:从内部本地函数访问类“this”