簡體   English   中英

PHP創建JSON數組列表(數據來自MySQL)

[英]PHP Creating JSON array list (data coming from MySQL)

我是Json的新手,無法使用從mysql查詢收集的數據填充json列表。 列表中僅填充一個值,並且它會不斷重復而不是顯示所有值。 代碼是:

<?php

$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$db = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db('abcd');
$jsonData = 0;

$result = mysql_query("SELECT picname,title,date,time,location,timestamp FROM uploaded_photo_data ORDER BY timestamp DESC ");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}
if (mysql_num_rows($result) > 0) {

    $num = mysql_num_rows($result);

    while ($row = mysql_fetch_assoc($result)) {
    $a = $row['location']."/".$row['picname']; 
        echo $row['timestamp'];
        echo $a;
        echo $row['picname'];
        echo $row['title'];
        echo $row['location'];
        echo "<br></br>";

        $dir = $row['location']."/"; 
        $jsonData = '{';     
        $x = 0;
        $dirHandle = opendir($dir);
        while($x!=$num){
            $x++;
            $jsonData .= '"img'.$x.'":{ "num":"'.$x.'","title":"'.$row['title'].'","src":"'.$a.'", "timestamp":"'.$row['timestamp'].'"},<br></br> ';
        }

    }
}
closedir($dirHandle);
        $jsonData = chop($jsonData, ",");
        $jsonData .= '}'; 
        echo $jsonData; echo $x;

您可以使用json_encode方法將數組編碼為JSON。

<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

echo json_encode($arr);
?>

上面的示例將輸出:

{"a":1,"b":2,"c":3,"d":4,"e":5}

php.net/manual/en/function.json-encode.php

編輯:

也許這對您有用:

$jsonData = array();
while ($row = mysql_fetch_assoc($result)) {
    $a = $row['location']."/".$row['picname']; 
    echo $row['timestamp'];
    echo $a;
    echo $row['picname'];
    echo $row['title'];
    echo $row['location'];
    echo "<br></br>";

    $dir = $row['location']."/";    
    $x = 0;

    while($x!=$num){
        $x++;
        $img = 'img'.$x;
        $jsonData[$img] = array(
            "num" => $x,
            "title" => $row['title'],
            "src" => $a,
            "timestamp" => $row['timestamp']
        );
    }
}

print json_encode($jsonData);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM