数据库值不显示

时间:2016-07-14 11:26:57

标签: php json ajax

这里我试图通过json对象获取数据库值,但它只显示我的数据库的第一行如何显示整个数据库。需要做哪些更改。

<html>
<head>
<script language="javascript" type="text/javascript" src="jquery.js">    </script>
</head>
<body>
<h3>Output: </h3>
<div id="output">this element will be accessed by jquery and this text   replaced</div>

<script id="source" language="javascript" type="text/javascript">

 $(function () 
 {
  $.ajax({                                      
   url: 'example.php',             
  data: "",                        //you can insert url argumnets here to pass to api.php
                                   //for example "id=5&parent=6"
  dataType: 'json',                //data format      
  success: function(data)          //on recieve of reply
  {
    var uid = data[0];              //get id
    var firstname = data[1];           //get name
    var lastname = data[2];
    var email = data[3];
    var username = data[4];
    var password = data[5];
    $('#output').html("<b>uid: </b>"+uid+"<b> firstname: </b>"+firstname+"<b> lastname: </b>"+lastname+"<b> email: </b>"+email+"<b> username: </b>"+username+"<b> password: </b>"+password); 
    // $('#output').html("<b>uid: </b>"+uid+"<b> firstname: </b>"+firstname+"<b> lastname: </b>"+lastname+"<b> email: </b>"+email+"<b> username: </b>"+username+"<b> password: </b>"+password); //Set output element html

  } 
});
 }); 
</script>
</body>
</html>

example.php文件

  <?php

 // server info
 $server = 'localhost';
 $user = 'root';
 $pass = '';
 $db = 'ocean';

 $connection = mysql_connect($server, $user, $pass) or die(mysql_error());
$database = mysql_select_db($db) or die(mysql_error());


$result = mysql_query("select * from oops");        //query

$array = mysql_fetch_row($result);                          //fetch  result    

echo json_encode($array);



?>

这里是我的代码,它给我第一行作为我的数据库的结果 。但是我希望在这段代码中显示完整的数据库结果。

2 个答案:

答案 0 :(得分:1)

您应该获取所有行并将其收集到数组

$array = array();

while ($row = mysql_fetch_row($result)) {
    $array[] = $row;
}

echo json_encode($array);

答案 1 :(得分:0)

您正在使用mysql_*。不要这样做,因为它已被弃用,因为PHP 5.5.0使用mysqli_*代替。问题是你只是获取第一行而不是其他行。

使用循环。这样的事情就足够了:

while ($row = mysqli_fetch_row($result)) {
    $array[] = $row;
}