2016-08-23 6 views
1

JSON_ENCODEに奇妙な問題があります。私はPHPとJavascriptに渡すためにデータベースとJSONからデータを取得するために使用しています。それは私が返される前に、データのいくつかの処理を行うために使用するつもりである別のPHPファイルをインクルードするまで、完全に動作していました。ファイルをインクルードした後、JSONは、返されたデータと、私がインクルードしたファイルの内容の両方をエンコードし始めました。JSON_ENCODE含まれているPHPファイルの内容を符号化

PHPコード:このファイルから返された

<?php 
    include("GeoLocation.php");//STATEMENT CAUSING JSON TO ACT WEIRDLY 
    $dbhost = "localhost"; 
    $dbuser = "root"; 
    $dbpass = ""; 
    $dbname = "go_with_your_mood"; 

     //$lat=(isset($_GET['lat']))?$_GET['lat']:''; 
     //$long=(isset($_GET['long']))?$_GET['long']:''; 


    //$geo = new GeoLocation(); 


$mysqli = new mysqli('127.0.0.1', $dbuser, $dbpass, $dbname); 
//Select Database 
//mysql_select_db($dbname) or die(mysql_error()); 

//build query 
$query = "SELECT * FROM service where service_type = 'security' limit 5"; 

//Execute query 
$qry_result = $mysqli->query($query); 

//initial array to encapsulate each individual row 
$jsonArray = array(); 

// Insert a new array for each row returned 
while($row = $qry_result->fetch_assoc()){ 
    $rowArray = array($row["id"],$row["name"],$row["address"],$row["suburb"],$row["postcode"],$row["phone"],$row["latitude"],$row["longitude"],$row["description"],$row["service_type"]); 
    array_push($jsonArray, $rowArray); 
} 
echo json_encode($jsonArray); 
?> 

データ:返されるべき

enter image description here

enter image description here

enter image description here

データ:

336,TERANG PUBLIC HOSPITAL,13 AUSTIN AVENUE,TERANG,3264,,-38.23939895629883000000,142.90240478515625000000,,medical, 
337,ALFRED PUBLIC HOSPITAL,55 COMMERCIAL ROAD,MELBOURNE,3004,,-37.84560012817383000000,144.98210144042970000000,,medical, 
338,CAULFIELD PUBLIC HOSPITAL,260 KOOYONG ROAD,CAULFIELD,3162,,-37.88240051269531000000,145.01669311523438000000,,medical,339,NORTHERN PUBLIC HOSPITAL,185 COOPER STREET,EPPING,3076,,-37.65259933471680000000,145.01510620117188000000,,medical,340,MAFFRA PUBLIC HOSPITAL,42-48 KENT STREET,MAFFRA,3860,,-37.96120071411133000000,146.98339843750000000000,,medical 

JSONが含まれているファイルの内容と自分のデータを返す理由を知っている人はいますか?

答えて

1

ショートタグのようです。<?は無効です。あなたのgeolocation.phpファイルは、<?phpの代わりに<?で始まります。 あなたのgeolocation.phpファイルを編集して、を<?phpに置き換えてください。

それとも

include('GeoLocation.php'); 

意味を次のようにそれを含めるには、前後にスペースを置くことによって、それを含めるか、それが上記の書かれているに含まれたコードをコピー&ペースト。うまくいけば、これらのソリューションの1つが機能します。

また、短いタグを有効にできます。

+0

それでした。迅速な修正をありがとう。 :) – user2787386

関連する問題