2016-07-02 13 views
0

こんにちはみんなプログラミングの世界ではかなり新しいので、本当に助けが必要です。私はいくつかのデータベーステーブルからデータを取得しようとしましたが、残念ながら私の$ .getJson()関数で何かがうまくいきません。もし私がphpファイルを実行すると、それはscript.jsの関数で動作します。私のhtmlもokですので、$ 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配列が1つしかないことがあります。あなたはまた、<li><body>の無効子であることに注意して

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); 

に変更し <br>タグ

試みとして、このように外の何かを印刷することはできません。 <div>を使用するか、<ul>に挿入する

+0

ありがとうございました:)それは今動作します:D:D:D神はあなたを祝福します! :* – user21553