0

http://img62.imageshack.us/img62/5582/20704606.jpg

上面的下拉菜单有 3 个值;

i)   Staf DC   
ii)  Admin
iii) Staf DT

“所有者”列值 (hafiz) 来自数据库。downdown 中的每个值都有不同的“所有者”值。我希望它像这样完成;

如果选择了 Staf DC,它将运行以下查询:

$query = "SELECT * FROM owner where type='Staf DC'";

如果选择了 Admin,它将运行此查询:

 $query = "SELECT * FROM owner where type='Admin'";

此外,表中“所有者”列的值应自动更改,无需刷新页面。有人可以告诉我一个如何做到这一点的例子吗?

4

2 回答 2

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代码(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
于 2012-05-03T07:40:43.730 回答
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:我为我糟糕的英语道歉......我是法国人

于 2012-05-03T07:05:40.480 回答