dongtingrun4973 2016-01-28 07:08
浏览 61
已采纳

如何使用jquery ajax和php将PostgreSQL的数据填充到组合框中

I want to fetch data from PostgreSQL into my Combobox using query Ajax in html page.

Here is the code of popup box where I want to fetch the data:

<html>
<body>
        <script src="../webmap/jquery-1.11.2.min.js"></script>

        <script type="text/javascript">
        function dropdown(){
        $('#a1_title').empty();
        $('#a1_title').append("<option>loading....</option>");
        $.ajax({
        type: "POST",
        url: "drpdwn.php",
        contentype: "application/json; charset=utf-8",
        dataType: "json",
        sucess:function(data){
        $('#a1_title').empty();
        $('#a1_title').append("<option value='0' >----select name-</option>");

        $.each(data,function(i,item){
        $('#a1_title').append('<option value="'+ data[i].id +'" >'+ data[i].name +'</option>');

        });
        },
        complete: function(){

        }

        });

        }
        $(document).ready(function(){

        dropdown();
        });

        </script>
        <select id="a1_title">
        </select>  
</body>
</html>

This is drpdwn.php file:

<?php
$host = "localhost"; 
$user = "postgres"; 
$pass = "admin"; 
$db = "Querybuilderdb"; 

$con = pg_connect("host=$host dbname=$db user=$user password=$pass")
    or die ("Could not connect to server
"); 
$query = "SELECT id, name FROM tab";
$result = pg_query($con, $query);
if(pg_num_rows($result)){

$data=array();
while($row=pg_fetch_array($result))
{ $data[] = array(
'id'=>$row['id'],
'name' =>$row['name']
);

}

echo  json_encode($data);
}
?>

I have update my code here Can anyone please tell me where i'm doing wrong?

  • 写回答

3条回答 默认 最新

  • dongtiannan0367 2016-02-21 12:47
    关注

    Its working now by using getJSON

    <html><body>
            <select id="a1_title">
            </select>
            <select id="a2_title">
            </select> 
            <script src="jquery-2.0.3.js"></script>
           <script type="text/javascript">
            $(document).ready(function(){
    
    
              $.getJSON("drpdwn.php", success = function(data){
    
            var items="";
                for(var i = 0; i< data.length; i++){
                   items +="<option value='"+ data[i].toLowerCase() +"'>" + data[i] +"</option>";
                }
                $("#a1_title").append(items); 
                $("#a1_title").change();
              });
    
    
            $("#a1_title").change(function(){
            $("#a2_title").html("");
    
              $.getJSON("second_dropdown.php?tabs="+ $(this).val(),success = function(data){
            alert("okay");
               var items="";
               for(var i = 0; i< data.length; i++){
                  items+="<option value='"+data[i].toLowerCase()+"'>"+data[i]+"</option>";
    
                }
    
                $("#a2_title").append(items); 
              });
            });
    
            });
            </script>
            </body>
            </html>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助