2016-09-04 7 views
0

ただ1行ではなく複数のレコードを返したいとします。 JSONは現在1行しか返していないので、whileループを追加する必要があると思いますが、コードを作成する正しい方法はわかりません。jsonを使用して複数のレコードセットを返す方法

function getq() { 
    var q = $("#q").val(); 

    $.post(
     'getq.php', 
     {q: q}, 
     function(data) { 
      console.log(data); 
     }, "json" 
    ); 
} 

getq.php

$q = $_POST['q']; 
include("connect.php"); 
$sql = ("SELECT xxx FROM yyy WHERE zzz = $q"); 
if ($results=mysqli_query($db,$sql)) { 
    $result = $results->fetch_assoc(); 
    echo json_encode($result); 
} 

答えて

1

EDIT

の.js: 私は私のPC上であなたと同じケースを作成しましたが、私はこのJavaScriptを使用:

$.post('getq.php', {q: q}, function(data) { 
     console.log(data); 
    } 
); 

そして、このphp(getq.php)ファイル:

<?php 
// Create connection 
$mysqli = new mysqli("localhost", "user", "passw", "db"); 

$q = $_POST['q']; 

if ($results = $mysqli->query("SELECT xxx FROM yyy WHERE zzz = $q", MYSQLI_USE_RESULT)) { 
    $result_set = mysqli_fetch_all($results,MYSQLI_ASSOC); 
    echo json_encode($result_set); 
    $results->close(); 
} 
?> 

ソース:W3Schools

+0

console.log(data)には何も表示されません。私はjavascriptから呼び出されているので、getq.phpファイルからvar_dumpを表示する方法を理解できません。 –

+1

私はコードを編集しましたが、私はちょっと投稿しました。私はこれをローカルのddで自分のPCでテストしました。あなたがまだいくつかのトラブルを経験する場合は、上記のコードを使用して私のために働いた、コメントをためらうことを躊躇しないでください。 – TrueStory

+0

はい!それは素晴らしい仕事でした。しかし、結果データをどのように使用するのですか? console.log(data [0])は、オブジェクト1だけを表示しません。以前は、さまざまな要素を設定しました'document.getElementById( "name")。innerHTML = data [' fname '] +' '+ data [' lname ']; 'マルチレコードセットを解析するにはどうすればいいですか? –

関連する問題