从下拉列表中选择并使用php显示数据库中的详细信息

时间:2015-10-01 03:52:18

标签: javascript php jquery html ajax

我已经在搜索这个问题,但结果却让人感到困惑,因为今天是我第一次遇到ajax而且大多数答案都是ajax。所以我决定发一个问题,这是我的工作,并试图从这里得到一些帮助来指导我关于ajax。这对我的项目需要一些帮助

这是我从数据库中获取值并将其显示在我的下拉列表中的查询



App.ApplicationRoute = Ember.Route.extend({
    model: function() {
        return Ember.$.getJSON("api/settings");
    },
    setupController: function(controller, jsonSettings) {
        this.store.pushPayload(jsonSettings);

        this.controllerFor("foobar").set("content", this.store.all("foobar"));
        this.controllerFor("foobaz").set("content", this.store.all("foobaz"));
        this.controllerFor("foobam").set("content", this.store.all("foobam"));
    }
});




这是我的下拉列表...我从我的数据库中获取数据,以便在下拉列表中显示我的值enter image description here



<?php
include('config.php');

    $sql="SELECT food FROM menu";
    $lists=mysql_query($sql);
?>
&#13;
&#13;
&#13;

现在我想在下拉列表中显示所选食物的价格..我希望它在输入文字中显示,以便我能够编辑它,如果我想

enter image description here

&#13;
&#13;
<select name="fname" id='mySelect' value='Foodname'>
        <?php
                    while($food = mysql_fetch_array($lists)) {
                       echo '<option value='.$food['food'].'>'.$food['food'].'</option>'; 
                    }
                    echo '</select>';

        ?>
&#13;
&#13;
&#13;

这是我的数据库 enter image description here

1 个答案:

答案 0 :(得分:2)

用于选择选项将值作为数据库ID,如此

echo '<option value='.$food['id'].'>'.$food['food'].'</option>'; 

将DB视为自动增量列。

然后写这样的ajax。

$(document).ready(function() {
    $("#mySelect").change(function(){
        var val = $('#mySelect option:selected').val();    
        $.ajax({
            url: "path to php file to get the price",
            type: "POST",
            dataType: "HTML",
            data: {"id": val}
            async: false,
            success: function(data) {
              // for textbox add id as price
                 $("#price").val(data);// data will have the price echoed in somefilename.php          
            }
      }); 

    });
});

让我们说ajax中的网址是somefilename.php

所以在somefilename.php,yyou shud写这样的查询

<?php
    include('config.php');
    $id = $_POST['id'];//same name as in ajax data
    $sql="SELECT price FROM menu where id = $id";

    // echo the price here
?>

你在这里回忆什么,它将带有参数'data'的ajax成功函数,然后你可以像我在成功函数中那样分配到所需的文本框()