将DB内容放入下拉列表并显示所选下拉列表中的数据库信息

时间:2015-04-27 13:22:25

标签: php jquery mysql select

我的问题是我有2 dropdowns从我的DB获取其内容,这是一个简单的SELECT *类别,然后从该类别中选择一个项目。

  

第一个下拉列表:“dropdown_type”是类别。

     

第二次下拉:“dropdown_abo”是项目。

在第二个下拉列表中,我使用的是JQuery插件,可以在下拉列表中进行搜索,以便更快地获得项目然后滚动(这将是其中的很多项目)。您可以看到插件here

当您从第二个下拉列表中选择一个项目时,下面的div(abo_info)将显示所选项目的所有信息。

我的问题是我被困住了,不知道该怎么办。我怎样才能这样做,当我选择一个类别,然后一个项目我从下面div中显示的那个项目中得到内容?

我正在使用PHPJQueryMysql_*(对于DB连接,了解PDO,但我并不擅长)。

我可以在这里获得一些帮助,或者一些如何做到的例子吗?

I have made a JSfiddle so you can see the complete code

2 个答案:

答案 0 :(得分:1)

你似乎正朝着正确的方向前进并做得很好。

请继续使用以下步骤作为指导,

  1. 使用jQuery.ajax()jQuery.post()基本上可以向PHP文件发送请求。
  2. 在PHP文件中,您可以使用PDO或普通的mySQL连接器连接到您的数据库,并将您所需的数据返回给AJAX调用。
  3. 可以在HTML部分根据需要呈现和显示返回的数据。
  4. 请使用以下参考资料,以便您更好地了解代码:

    1. Beginner’s Guide to Ajax Development with PHP
    2. jQuery Ajax POST example with PHP

答案 1 :(得分:1)

正如@WisdmLabs所提到的,你走在正确的轨道上......

继续留下的步骤是:

  1. 选择两个保管箱后添加JS事件(使用onchange()或提交按钮)

  2. 该事件将使用POST触发对PHP文件的AJAX请求 您想要获取数据的项目的数据。

  3. 在PHP文件中,您将运行SQL查询并发回所需的信息 - 最好像在json中一样。

  4. 在JS AJAX函数中,您将获得Json对象并将neede信息插入页面DOM

  5. JS代码

    $(".dropboxClass").change(function(){ // you can use a button instead or any other event type
        // here you can first check that bothdropboxes were selected 
    
        // now get the values of the dropboxes
        drop1 = $("#dropbox1").val();
        drop2 = $("#dropbox2").val();
    
        // run the AJAX request for the PHP file
        var request = $.ajax({
                        url: 'test2.php',
                        dataType: "json" ,
                        method: "POST",
                data: { d1: drop1, d2:drop2 } 
                    });
    
            request.done(function(itemData){
                // here you will get the Json object , get the data you need and insert into the DOM
                console.log('Status:' + itemData['status']);
                console.log('Name:' + itemData['name']);
    
                alert('success');
            });
    
            request.fail(function(){
                // AJAX call failed - do something.....
            });
    });
    

    PHP脚本

    // connect to your DB and get the data you need into an array 
    
    $DB_data = array(
        "status"=>"code",
        "name"=>"item Name",
        "desc"=>"Item Description"
    );
    
    echo json_encode($DB_data);