2016-05-09 12 views
0

私はWikitude Augmented reality appにデータを提供する簡単なWebサービスを開発しようとしています。データはJSONから提供され、MYSQLデータベースから取得されます。これまでのところ、私は自分のデータベースに接続し、データをJSON形式で取得することができました。PHPでの簡単なWebサービス、Getメソッド

しかし、HTTP Get Methodリクエストを作成するためにさらに開発する必要があります。私は結果がデータベースからすべてのデータである
http://localhost/json_internet2.php?longitude=13.88345としてインスタンスの要求を行う場合はここで、現在、私のPHPスクリプト

<?PHP 
    //open connection to mysql db 
    $connection = mysqli_connect("localhost","root","","tutorial") or die("Error " . mysqli_error($connection)); 

    //fetch table rows from mysql db 
    $getData = "select * from places"; 
    $qur = $connection->query($getData); 

    while($r = mysqli_fetch_assoc($qur)){ 

    $msg[] = array("id" => $r['id'], "longitude" => $r['longitude'], "latitude" => $r['latitude'], "description" => $r['description'], "name" => $r['name']); 
    } 
    $json = $msg; 

    header('content-type: application/json'); 
    echo json_encode($json); 

    @mysqli_close($conn); 
?> 

です。したがって、それは動作していません。

どうすればこれをさらに進めることができますか?どんな助けもbenificialでしょう。

おかげで

+0

これはあなたが言ったこと、つまりすべてを返すことです。正確に何が起こりたいのですか?何をしようとしていますか? –

答えて

0

データベースは「経度」欄を持っていると仮定すると、あなたは(あなたの例では経度)を考慮にGET変数を取り、結果をフィルタリングするためにそれを使用するSQLクエリを変更する必要があります。

例:

//open connection to mysql db 
$connection = mysqli_connect("localhost","root","","tutorial") or die("Error " . mysqli_error($connection)); 

//fetch table rows from mysql db 
$getData = "select * from places"; 

if(isset($_GET['longitude']) && !empty($_GET['longitude'])){ 
    $longitude = mysqli_real_escape_string($_GET['longitude']); 
    $getData = "select * from places WHERE longitude = '$longitude' ";  
} 

$qur = $connection->query($getData); 

while($r = mysqli_fetch_assoc($qur)){ 

$msg[] = array("id" => $r['id'], "longitude" => $r['longitude'], "latitude" => $r['latitude'], "description" => $r['description'], "name" => $r['name']); 
} 
$json = $msg; 

header('content-type: application/json'); 
echo json_encode($json); 

@mysqli_close($conn); 

これは、この質問の範囲を超えていますが、セキュリティ上の問題のために、あなたが本当にPDOとプリペアドステートメントを使用する必要があることに注意してください。さらに詳しい情報:http://php.net/manual/en/pdo.prepared-statements.php

+0

ありがとう "pixeline"。しかし、それは私のために働かなかった。エラーがあります。私も緯度を考慮する必要があります。だから私のクエリは、http://localhost/json_internet2.phpのようになりますか?経度= 13.88345&latitude = 46.611204 – Sofi

+0

どのようなエラーがありますか?正確であるようにしてください。実際にデータベーステーブルに「経度」の列がありますか?名前を必ず使用してください。提供されているコードでは、各行の経度データを「経度」列とみなしています。緯度と同じです。 – pixeline

関連する問題