Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php jquery根据用户单击并填充选择列表获取数据库查询_Php_Jquery_Mysql_Ajax - Fatal编程技术网

Php jquery根据用户单击并填充选择列表获取数据库查询

Php jquery根据用户单击并填充选择列表获取数据库查询,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我正在开发一个表单,用户可以从a-Z中选择一个字母,以选择用户名以该字母开头的用户列表 我试图做的是,当用户单击一个字母时,会调用一个php脚本来执行数据库查询,该查询提取以单击的字母开头的任何用户名 我找到了这一页,这一页让我开始了,这一页更接近我想要做的事情 我想对返回的结果做的是将它们放在一个选择列表中,并且当用户单击另一个字母时,列表内容将替换为新的查询结果 我不确定的是如何,如果可能的话,将该字母传递给php脚本,以便在数据库中搜索以该字母开头的用户名 编辑:我有希望改进到这一点,但我

我正在开发一个表单,用户可以从a-Z中选择一个字母,以选择用户名以该字母开头的用户列表

我试图做的是,当用户单击一个字母时,会调用一个php脚本来执行数据库查询,该查询提取以单击的字母开头的任何用户名

我找到了这一页,这一页让我开始了,这一页更接近我想要做的事情

我想对返回的结果做的是将它们放在一个选择列表中,并且当用户单击另一个字母时,列表内容将替换为新的查询结果

我不确定的是如何,如果可能的话,将该字母传递给php脚本,以便在数据库中搜索以该字母开头的用户名

编辑:我有希望改进到这一点,但我得到了Ajax错误:ParseError

这是到目前为止我的代码

<div>
        <ul>
            <li class="alphabets" id="All">All</li>
            <li class="alphabets" id="A">A</li>
            <li class="alphabets" id="B">B</li>
            <li class="alphabets" id="C">C</li>
            <li class="alphabets" id="D">D</li>
    </ul>
</div>
<div id="recipients">
    $(document).ready(function(){
                $("li.alphabets").click(function(){
                    var the_letter = $(this).text();
                    alert(the_letter);

                    $.ajax({                                      
                        url: 'php/selectuser.php', type: 'GET', data: {'letter':the_letter}, dataType: 'json',  success: function(rows) {
                            var options = '';
                            for (var i in rows) {
                                var row = rows[i];          
                                var id = row[0];
                                var vname = row[1];

                                options += '<option value="' + id + '">' + vname + '</option>';
                            } 
                            $("#userlist").html(options);
                        } 
                    });
                });
            });
    <select id="userslist" name="recipients" size="5">



    </select>
</div>

jQuery的.ajax方法有一个名为data的参数,允许您传递变量:

// Get letter from SELECT element
the_letter = $("#myselect").val();

$.ajax({ 
  url:  'somepath/to/my/script.php',
  type: 'GET',
  data: {'letter':the_letter} 
});
它将其作为GET参数传递,可通过以下方式在PHP脚本中轻松检索:

$letter = $_GET['letter'];

谢谢你的快速回复。这是有道理的。您能告诉我如何在选择列表中获取它吗?请查看我的更改。如果您将元素设置为具有myselect的id属性,那么这将起作用。