首页 文章

如何从php脚本中获取JSON中mysql表的所有值?

提问于
浏览
3

这是从mysql(一行)获取表值的php脚本 . 并将其作为JSON回应

<?php  
      $username = "user";  
      $password = "********";  
      $hostname = "localhost";  
      $dbh = mysql_connect($hostname, $username, $password) or die("Unable to 
      connect to MySQL");  
      $selected = mysql_select_db("spec",$dbh) or die("Could not select first_test");  
      $query = "SELECT * FROM user_spec";  
      $result=mysql_query($query);     
      $outArray = array(); 
      if ($result) { 
      while ($row = mysql_fetch_assoc($result)) $outArray[] = $row; 
       } 
      echo json_encode($outArray);  
?>

这是用于接收和打印json数据的HTML文件 .
src = "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"> // $(4789895).ready(function(){

function Preload() {
    $.getJSON("http://localhost/conn_mysql.php", function(jsonData){  
    $.each(jsonData, function(i,j)
    { alert(j.options);});
    });} 

// });
    </script></head>

    <body onLoad="Preload()">
    </body>

</html> >

3 回答

  • 1
    <?php 
        $username = "user"; 
        $password = "********"; 
        $hostname = "localhost"; 
        $dbh = mysql_connect($hostname, $username, $password) or die("Unable to connect 
             to MySQL"); 
        $selected = mysql_select_db("spec",$dbh) or die("Could not select first_test"); 
        $query = "SELECT * FROM user_spec"; 
        $result=mysql_query($query);
    
        $_ResultSet = array();
    
        while ($row = mysql_fetch_assoc($result)) {
           $_ResultSet[] = $row;
        }
           echo json_encode($_ResultSet); 
    ?>
    

    你的jQuery看起来像:

    $.getJSON("/yourscript.php", function(data) {
        $.each(data, function(i, j) {
            // use: j.columnName
        });
    });
    

    祝好运

  • 0

    mysql_fetch_assoc只会从数据库返回一行 . 您将需要一个循环来检索所有行:

    $data = array();
    while ($row = mysql_fetch_assoc($result)) {
        // add some or all of $row to the $data array
    }
    echo json_encode($data);
    
  • 5

    您的PHP需要实际将所有行放在一起:

    $query = "SELECT * FROM user_spec"; 
    $result=mysql_query($query);    
    $outArray = array();
    if ($result) {
      while ($row = mysql_fetch_assoc($result)) $outArray[] = $row;
    }
    echo json_encode($outArray);
    

    你的Javascript需要查看每一行..

    $.getJSON("/whatever.php", function(jsonData) { 
       for (var x = 0; x < jsonData.length; x++) {
          alert(jsonData[x].options);
       }
    });
    

相关问题