我正在尝试学习一些Ajax和MySQL ......
基本上,我现在的代码类似于:http://www.w3schools.com/PHP/php_ajax_database.asp
我想知道如何修改这些代码(包括html,javascript和php)来创建两个下拉列表。第一个下拉列表将用于选择姓氏(例如Swanson),第二个下拉列表将用于选择Hometown(例如Quahog)。然后用户点击“提交”按钮,查询将返回匹配的结果(例如,居住在Quahog的所有Swansons)。
我非常感谢所有的想法!
答案 0 :(得分:1)
与html页面唯一的主要区别是添加了另一个下拉列表,添加了提交按钮,并删除了onchange事件(假设您希望删除此项,因为您依赖于提交按钮)。所以而不是:
<form>
Select a User:
<select name="users" onchange="showUser(this.value)">
<option value="1">Peter Griffin</option>
<option value="2">Lois Griffin</option>
<option value="3">Glenn Quagmire</option>
<option value="4">Joseph Swanson</option>
</select>
</form>
你现在有:
<form>
Select a User:
<select name="lastname" id="lastname">
<option value="Griffin">Griffin</option>
<option value="Quagmire">Quagmire</option>
<option value="Swanson">Swanson</option>
</select>
<br>
Select a Hometown:
<select name="hometown" id="hometown">
<option value="Quahog">Quahog</option>
<option value="Newport">Newport</option>
</select>
<input type="submit" value="Submit" onclick="showUser(Document.getElementById('lastname').value, Document.getElementById('hometown'))">
</form>
javascript所需的唯一更改是更改showUser函数以获取和处理两个输入。声明变成: function showUser(lastname,hometown)
而不是行:
url=url+"?q="+str;
你需要:
url=url+"?lname="+lastname+"&town="+hometown;
然后在PHP中,您只需要更改变量赋值和正在执行的查询。所以:
$q=$_GET["q"];
成为:
$lname=$_GET["lname"]; $town=$_GET["town"];
并且:
$sql="SELECT * FROM user WHERE id = '".$q."'";
成为:
$sql="SELECT * FROM user WHERE lastname = '".$lname."' AND hometown = '".$town."'";