[英]JSON response in correct format
我正在通過PHP查詢數據庫中名為“用戶”的表。
$result = mysql_query("SELECT name, lastname FROM $tableName");
if (mysql_num_rows($result) > 0)
{
while($row = mysql_fetch_row($result)) {
echo json_encode( $row );
}
}
else
{
echo json_encode( "No rows found!" );
}
我在JSON響應中返回此表,如下所示。
["John","Smith"]["John","Wayne"]
但是我想要的格式如下。
{ "users" : [
{
"name":"John",
"lastname":"Smith",
},
{
"name":"John",
"lastname":"Wayne",
}
]}
有沒有一種方法可以查詢數據並將其與表名(如上述格式)一起返回?
如果您這樣做,該怎么辦。 將行放入數組並進行編碼。
$result = mysql_query("SELECT name, lastname FROM $tableName");
if (mysql_num_rows($result) > 0)
{
$users = array();
while($row = mysql_fetch_row($result)) {
$users['users'][] = $row;
}
echo json_encode( $users );
}
else
{
echo json_encode( "No rows found!" );
}
使用它代替您當前的代碼:
<?php
$userInfo = array("users" => array());
$result = mysql_query("SELECT name, lastname FROM $tableName");
if (mysql_num_rows($result) > 0)
{
while($row = mysql_fetch_row($result)) {
$userInfo["users"][] = array("name" => $row[0], "lastname" => $row[1]);
}
echo json_encode($userInfo);
}
else
{
echo json_encode( "No rows found!" );
}
編輯
我只是看到您希望使用表名和列名來獲取某種程度上的動態結果,如果您希望這樣做,則應使用mysqli_fetch_assoc()
而不是mysqli_fetch_row()
這樣:
<?php
$result = mysqli_query($con, "SELECT name, lastname FROM $tableName");
$tableData = array($tableName => array());
if (mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_assoc($result)) {
$tableData[$tableName][] = $row;
}
echo json_encode($tableData);
}
else
{
echo json_encode( "No rows found!" );
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.