[英]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.