我想使用来自 MySQL 的 ajax 获取所有数组值。我不能得到所有的结果。我只能得到 1 个结果。
我的 JQuery 代码是:
$("input.input-search").keyup(function(){
var name = $(this).val();
if(name !='')
{
$.ajax({
type: 'post',
url: 'ajax.php?bol=search',
data: {'name':name},
dataType: 'json',
success: function(val)
{
x = val.length;
for (i = 1; i<=x; i++){
$(".search-result").html(val[i].user+' * '+x);
}
},
error: function(name){
$(".search-result").html("Nəticə yoxdur...");
}
});
}
});
PHP 代码是:
case "search":
$name = trim($_POST['name']);
$q = mysql_query("SELECT * FROM `users` WHERE `user` LIKE '%".$name."%' ORDER by id;");
if(mysql_affected_rows() > 0){
while($arr = mysql_fetch_array($q)){
$array[] = $arr;
}
echo json_encode($array);
}
break;
最佳答案
很简单。每次循环运行时,您都会覆盖元素的 HTML 内容。使用 jQuery
.html("...")
每次循环运行时为所选元素设置新内容的方法。
所以用
.append('...')
相反。
当然是在你成功的开始 - 方法清空你的元素
.html("");
关于php - 如何从 php 获取循环数组到 AJAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35293056/