php - 如何从 php 获取循环数组到 AJAX

标签 php jquery mysql ajax

我想使用来自 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/

相关文章:

php - 数据从 mysql 数据库通过 php 存入文本字段?

javascript - SumoSelect 的全选选项与选择下拉列表中的其他选项重叠

javascript - 隐藏元素不会复制到剪贴板

javascript - 我怎样才能延迟一个功能

mysql - 如何将我的值存储到 php 数据库并且没有错误或输出

php - 如何在mysql中填充数据

jquery 切换类不工作

javascript - SQL 中的正则表达式

php - 从 3 个不同的表中获取最近的帖子,在 codeigniter 中将结果限制为 5 个

php - 将多选的数组数据发送到 Mysql