a http://img62.imageshack.us/img62/5582/20704606.jpg
上面的下拉菜单有3个值;
i) Staf DC
ii) Admin
iii) Staf DT
“所有者”列值(hafiz)来自数据库。下拉列表中的每个值都具有不同的“所有者”值。我希望它能像这样完成;
如果选择了Staf DC,它将运行此查询:
$query = "SELECT * FROM owner where type='Staf DC'";
如果选择了Admin,它将运行此查询:
$query = "SELECT * FROM owner where type='Admin'";
此外,表格中“所有者”列的值应自动更改,而不刷新页面。有人能告诉我一个如何做到这一点的例子吗?
答案 0 :(得分:4)
下面的代码在下拉列表的onchange中调用jquery函数。 Jquery函数将选定的下拉值传递给getdata.php,处理它并回显所有者名称。然后所有者名称显示在标签框中。
下拉代码
echo '<table><tr><td>ModelNo.</td><td>';
echo "<select id='typeval' onchange='changeOwner();'>";
echo "<option value='Staf DC'>Staf DC</option>";
echo '</select></td>';
echo "<td><label id='own'>hafiz</label></td></tr></table>";
jquery代码
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
function changeOwner()
{
var selname = $("#typeval option:selected").val();
$.ajax({ url: "getdata.php",
data: {"selname":selname},
type: 'post',
success: function(output) {
$("#own").html(output);
}
});
}
</script>
php code(getdata.php);
$selname = $_POST['selname'];
$query = "SELECT * FROM owner where type='$selname'";
$res = mysql_query($query);
$rows = mysql_fetch_array($res);
echo $rows['owner']; //assumed that the column name in db is owner
答案 1 :(得分:0)
如果您不想刷新整个页面,则需要使用一些Javascript / Ajax。 JQuery允许使用.post()方法轻松执行您需要的任务。
首先将JQuery文件添加到HTML标头
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
然后根据您的请求创建一个.php文件(例如:update_owner.php):
<?php
// 1. Connect to your SQL database
// ...
// 2. Get the type
$type = $_POST['type'];
// 3. Perform your query
$results = mysql_query("SELECT * FROM owner where type=".$type);
// 4. Get the only result you want (the first row)
$row = mysql_fetch_array( $results );
// 5. Return the result in json format (assuming that the name
echo json_encode(array("responseCode" => 200, "row" => $row));
然后添加一些javascript(使用JQuery):
$("select#type").change(function() {
// Get the value of your input field
var type = $(this).val();
// Set the URL
var url = 'update_owner.php';
// Start send the post request
$.post(url,
function(data){
// The response is in the data variable
if (data.responseCode == 200) {
// Write the name in the right cell (with #owner id)
$("#owner").html( data.row.name );
}
else {
// Bad request
}
},"json"
); // Make sure the the response is in json format
return false;
});
应该这样做
PS:我为我糟糕的英语道歉......我是法国人