我想知道是否有人可以帮助我。
我有一个包含多个表的MySql数据库。我的问题围绕使用其中三个数据,“用户详细信息”,“探测器”和“搜索头”。
我想要做的是在我的HTML表单上填充一个下拉菜单,其中显示了特定于用户的“检测器”,反过来,另一个下拉菜单又是用户特定的,但也只显示了' “搜索头”适用于第一个下拉菜单中的“检测器”选择。
所有三个表都有一个'userid'字段,'探测器'和'搜索头'的表有一个'detectorid'字段。
或许有人可以告诉我如何设置它,因为我必须承认我不知道从哪里开始。
非常感谢和问候
克里斯。
更新的JS代码
<script type="text/javascript" language="javascript">
$(document).ready(function(){
$.fetch_data = function (what) {
var send = {
"what" : what,
"data" : $("select[name=detectors]").val()
};
$.post ("dropdownmenus.php", send, function(data){
$("select[name=" + what + "]").html(data);
});
};
$.fetch_data ("detectors");
$("select[name=detectors]").live("change", function(){
// reset the searchhead as new data will be implemented
$("select[name=detectorsearchheads]").html("");
$.fetch_data ("detectorsearchhead");
});
});
</script>
更新的PHP代码
<?php
$request = array (
"detector" => @$_POST["detector"],
"detector" => @$_POST["detector"] );
// clean $request.
$build_query = "select * from " . $request["what"] . " "
. "where userid = \"" . $user_id . "\"";
$build_results = mysql_query ($build_query);
$return_results = "";
foreach ($build_results as $index => $data) {
$return_results .= "<option value=\"detector" . $data["id"] . "\">" . $data["text"] .
"</option>"; }
echo $return_results; ?>
答案 0 :(得分:1)
这比复杂的MySQL查询更多Javascript。
<强> form.php的强>
此页面位于表单所在的位置。我创建了一个抓取必要数据的Ajax函数。我还没有完成所有事情,但我给了你一个你需要完成的内容的概述。从select
输入收集的数据通过jQuery中的ajax post
请求传输。然后操纵数据并将其格式化为html数据,select
输入可以理解这些数据。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
$.fetch_data = function (what) {
var send = {
"what" : what,
"data" : $("select[name=detectors]").val()
};
$.post ("url/to/ajax.php", send, functio(data){
$("select[name=" + what + "]").html(data);
});
};
$.fetch_data ("detectors");
$("select[name=detectors]").live("change", function(){
// reset the searchhead as new data will be implemented
$("select[name=searchhead]").html("");
$.fetch_data ("searchhead");
});
});
</script>
<form>
<label>Detectors</label>
<select name="detectors">
</select>
<label>Search Heads</label>
<select name="searchead">
</select>
</form>
<强> URL /到/ ajax.php 强>
在这里,您必须调整数据的操作方式。您可以使用PHP switch
,具体取决于what
变量,这将根据请求更改查询。
<?php
$request = array (
"what" => @$_POST["what"],
"data" => @$_POST["data"]
);
// clean $request.
$build_query = "select * from " . $request["what"] . " "
. "where userid = \"" . $user_id . "\"";
$build_results = mysql_query ($build_query);
$return_results = "";
foreach ($build_results as $index => $data) {
$reurn_results .= "<option value=\"" . $data["id"] . "\">" . $data["text"] . "</option>";
}
echo $return_results;
?>