2017-01-25 9 views
0

としてMySQLデータベース内の各行でJSON文字列を作成し、列名:

  • ID
  • クライアント名
  • 郵便番号
  • 状況

各列名は、その下のテストデータの数行を持って入りました。私は以下のように、PHPのmysqliクラスを使用してデータベースに正常に接続しました。

//Connect to database 
$conn = new mysqli(localhost, $username, $password, $database); 

//Check connection 
if ($conn->connect_error) { 
    die("Failed to connect to MySQL: " . $conn->connect_error); 
} 
echo "<p>Connected to database</p>"; 

//Select data from database 
$sql = "SELECT id, clientname, day, month, year, postcode, status, entered FROM gigdata"; 
$result = mysqli_query($conn, $sql); 

//Create an empty array 
$gigarray = array(); 

//Check data exists, if YES store in array 
if (mysqli_num_rows($result) > 0) { 

    while($row = mysqli_fetch_assoc($result)) { 
     foreach ($row as $r) { 
      array_push($gigarray, $r); 
     } 
    } 
} else { 
    echo "0 results"; 
} 

私はその後、正常に動作Javascriptの、にJSON文字列をエコーし​​ています:

var gigdata = <?php echo json_encode($gigarray) ?>; 

QUESTION

私がこれまでのところ、私はこのPHPを書かれている

JSONが次のような形式になるように元のPHPを適合させることです:

  • 各データベース行は、各データベースフィールドが各JSON名前/値ペアの値である各データベース列名は各JSON名前/値のペアに
  • 名前で新しい配列要素
  • あります

これは理にかなっています。ありがとうございます。

+0

あなたが意味するか、各行が新しい配列または新規であります配列要素? –

+0

ありがとうサイモン、私は "配列要素"を意味しました。修正されました。 – jonhendrix

答えて

0

は実際にあなたがそれをしたい正確にどのように、結果からすべてのデータを取得するための非常に有用mysqliの機能があります - mysqli_fetch_all

試してみてください。

json_encode(mysqli_fetch_all($result, MYSQLI_ASSOC)); 
+0

パーフェクト!本当にありがとう! – jonhendrix

関連する問題