php ajax数据库问题

时间:2011-01-06 07:02:52

标签: php mysql ajax select

我试图了解如何修改此http://www.w3schools.com/php/php_ajax_database.asp中的示例,以便查询数据库以进行多项选择。我的意思是,如果选择了多个选项(通过在表单中​​添加“multiple”关键字),如何对这些多个选项进行数据库查询?

3 个答案:

答案 0 :(得分:0)

如果不查看该页面,要从选择中发送多个值,只需在名称字段[]后面添加<select multiple="multiple" name="foo[]">即可。

请求数组(PHP中的$ _GET或$ _POST)将包含一个键'foo',它映射到多个'selected'值。修改完页面后,为了更清楚地了解正在发生的事情,请执行以下操作:

print_r($_GET['foo']); // or $_POST, whichever

然后,您只需要修改服务器脚本以存储(或做任何事情)接收值集。

以下示例演示如何通过将onchange处理程序注册到select元素,从多个选定值创建字符串:

document.getElementById("theSelect").onchange = function() {
    var len = this.options.length;
    var selected = [];
    for(var i = 0; i < len; i++) {
        if(this.options[i].selected) {
            selected.push(this.options[i].value);
        } 
    }
    alert(selected);
    //so you can do something like getUsers(selected.join(","));
};

<强> Working example.

答案 1 :(得分:0)

它是一样的。不同之处在于,当您向服务器发送数据时,您会发送一个名称列表。然后你可以在服务器中使用php来构建HTML并将其返回。

答案 2 :(得分:0)

如果你使用复选框尝试使用POST方法而不是GET

xmlhttp.open("POST","getuser.php",true);

<input tabindex="3" type="checkbox" name="gender[]" id="gender" value="M">Male
<input tabindex="4" type="checkbox" name="gender[]" id="gender" value="F">Female

try print_r($_POST);

由于 Sanil