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 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示