Php 如何在自动完成输入中显示数据库中的多个字段
你好,这是我的问题 我有一个自动完成输入,可以从数据库中检索数据,显示图像和文本。我想做的是在它旁边添加另一个文本,但是来自另一个字段。但当我尝试时,它再也找不到我的图像了 这是我的密码: PHP文件Php 如何在自动完成输入中显示数据库中的多个字段,php,jquery,html,mysql,autocomplete,Php,Jquery,Html,Mysql,Autocomplete,你好,这是我的问题 我有一个自动完成输入,可以从数据库中检索数据,显示图像和文本。我想做的是在它旁边添加另一个文本,但是来自另一个字段。但当我尝试时,它再也找不到我的图像了 这是我的密码: PHP文件 <input type="text" name="text" id="text" autocomplete="off"><br /> <input type="submit" name="submit" class="button"><br /
<input type="text" name="text" id="text" autocomplete="off"><br />
<input type="submit" name="submit" class="button"><br /><br />
</form>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery-ui.min.js"></script>
<script type="text/javascript">
$(function(){
$('#ref').autocomplete({
source: 'autocomplete.php'
}).data("ui-autocomplete")._renderItem = function (ul, item) {
return $("<li><div><img src='img/" + item.value + "' /><span>" + item.value + "</span></div></li>").appendTo(ul);
};
});
</script>
因此,要明确的是,这是我希望在我的输入中显示的方式:
MYIMGDATA1:DATA2
对不起,我说得不够清楚
谢谢你的帮助。你真的有
你的图像文件名和data1一样吗?因此,现在您的文件名返回为“data1:data2”,而不是文件名。快速而肮脏的解决方案是分割冒号上的item.value,并使用索引0作为图像源。正确的方法是返回正确的JSON,将data1和data2作为单独的属性,并在客户端对其进行格式化。不,对不起,我没有必要将代码更改为您当时拥有的代码。问题是我对javascript和JSON了解不多,我在网上找到了代码,并且它工作正常。我这样做对吗?而($data=$q->fetch()){array_push($array,$data['data1']);array_push($array2,$data['data2']);}echo json_encode($array2);你真的有你的图像文件名和data1一样吗?因此,现在您的文件名返回为“data1:data2”,而不是文件名。快速而肮脏的解决方案是分割冒号上的item.value,并使用索引0作为图像源。正确的方法是返回正确的JSON,将data1和data2作为单独的属性,并在客户端对其进行格式化。不,对不起,我没有必要将代码更改为您当时拥有的代码。问题是我对javascript和JSON了解不多,我在网上找到了代码,并且它工作正常。我这样做对吗?而($data=$q->fetch()){array_push($array,$data['data1']);array_push($array2,$data['data2']);}echo json_encode($array2);
require('db.php');
$term = $_GET['term'];
$q = $db -> prepare('SELECT data1,data2 FROM table WHERE data1 LIKE :term');
$q -> execute(array('term' => '%'.$term.'%'));
$array = array();
while ($data = $q -> fetch()) {
array_push($array, $data['data1']. ":".$data['data2']);
}
echo json_encode($array);
?>