2016-07-02 31 views
0

嗨,大家好:)我在编程世界很新,所以我真的需要你的帮助。我尝试从某些数据库表中获取数据,不幸的是,在$ .getJson()函数中出现了错误。如果我运行的PHP文件,它的工作原理,以及从script.js的功能。我的html也可以,所以我想这是$ get.JSON错误。我不知道这么多的JavaScript,所以我把我所有的希望到你:*

HTML文件:

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8" /> 
<title>jQuery Ajax - PHP</title> 
<script type="text/javascript" src="jquery.js"></script> 
</head> 
<body> 
<script src="script.js"> 
</script> 
</body> 
</html> 

的script.js文件:

$('document').ready(function() { 
           done(); 
           } 
        ); 
function done() { 
    setTimeout(function() { 
         updates(); 
         done(); 
          } 
       , 200); 
       } 
function updates(){ 
    $.getJSON("read.php", function (data){ 

     $.each(data.array, function() { 
      $("body").append("<li>Titlu: "+this['title']+"</li> 
          <li>Descriere: "+this['describtion']+"</li>"); 
            } 
          ); 

     $.each(data.array1, function() { 
      $("body").append("<li>Id: "+this['id']+"</li> 
          <li>Category_Id: "+this['category_id']+"</li> 
          <li>Titlu: "+this['title']+"</li> 
          <li>Descriere: "+this['describtion']+"</li>"); 
             } 
      ); 

    $.each(data.array2, function() { 
     $("body").append("<li>Id: "+this['id']+"</li> 
          <li>Titlu: "+this['title']+"</li> 
          <li>Latitudine: "+this['location_latitude']+"</li> 
         <li>Longitudine:"+this['location_longitude']+"</li> 
         <li>Numar de telefon: "+this['phone_number']+"</li> 
          <li>Descriere: "+this['describtion']+"</li>"); 
            } 
     ); 

    $.each(data.array3, function() { 
     $("body").append("<li>Id: "+this['id']+"</li> 
        <li>Interest_point_id:"+this['interest_point_id']+"</li> 
        <li>Pret: "+this['price']+"</li> 
        <li>Data: "+this['event1_time']+"</li>"); 
             } 
     ); 
              } 
       ); 

       } 

最后读。 PHP文件(这里显示了我的期望,所以我认为一切都很好):

<?php 
include_once ('db.php'); 
$query= "SELECT * FROM category"; 
$query1= "SELECT * FROM sub_category"; 
$query2= "SELECT * FROM interest_point"; 
$query3= "SELECT * FROM event1"; 
global $connect; 
$result = mysqli_query($connect,$query); 
$result1 = mysqli_query($connect,$query1); 
$result2 = mysqli_query($connect,$query2); 
$result3 = mysqli_query($connect,$query3); 
$array = array(); 
$array1 = array(); 
$array2 = array(); 
$array3 = array(); 

while($row=mysqli_fetch_array($result)) 
    array_push($array , array('id'   => $row[0], 
           'title'  => $row[1], 
           'describtion' => $row[2] 
)); 

while($row1=mysqli_fetch_array($result1)) 
    array_push($array1 , array('id'   => $row1[0], 
           'category_id' => $row1[1], 
           'title'  => $row1[2], 
           'describtion' => $row1[3] 

)); 
while($row2=mysqli_fetch_array($result2)) 
    array_push($array2 , array('id'    => $row2[0], 
           'title'    => $row2[1], 
           'location_latitude' => $row2[2], 
           'location_longitude'=> $row2[3], 
           'phone_number'  => $row2[4], 
           'describtion'  => $row2[5] 

)); 
while($row3=mysqli_fetch_array($result3)) 
    array_push($array3 , array( 
           'id'    => $row3[0], 
           'interest_point_id'=> $row3[1], 
           'price'   => $row3[2], 
           'event1_time'  => $row3[3] 
)); 

    echo json_encode(array("array"=>$array)).'<br>'.'<br>'; 
    echo json_encode(array("array1"=>$array1)).'<br>'.'<br>'; 
    echo json_encode(array("array2"=>$array2)).'<br>'.'<br>'; 
    echo json_encode(array("array3"=>$array3)).'<br>'.'<br>'; 


?> 
+0

“出现问题”不是一个好的解释。出了什么问题? – grochmal

+0

请包括错误消息或您的日志中有关失败的'$ .getJSON'调用的任何信息。 –

回答

1

你只能回显一次wh发送json并且只能有一个包含所有数据的php数组。你不能这样这个之外打印任何东西,为<br>标签

尝试改变

echo json_encode(array("array"=>$array)).'<br>'.'<br>'; 
echo json_encode(array("array1"=>$array1)).'<br>'.'<br>'; 
echo json_encode(array("array2"=>$array2)).'<br>'.'<br>'; 
echo json_encode(array("array3"=>$array3)).'<br>'.'<br>'; 

$output = array(
    "array1"=>$array1, 
    "array2"=>$array2, 
    "array3"=>$array3 
); 

echo json_encode($output); 

还要注意的是<li><body>无效的孩子。使用<div>或插入到<ul>

+0

非常感谢你:)现在它工作:D:D:D上帝保佑你! :* – user21553