2016-06-09 39 views
0

我目前有一個使用Dreamweaver創建的記錄集,並且以json格式對結果進行編碼,該結果工作正常。以自定義格式對php記錄集進行編碼

記錄

$maxRows_rs_feeds = 3; 
$pageNum_rs_feeds = 0; 
if (isset($_GET['pageNum_rs_feeds'])) { 
    $pageNum_rs_feeds = $_GET['pageNum_rs_feeds']; 
} 
$startRow_rs_feeds = $pageNum_rs_feeds * $maxRows_rs_feeds; 

mysql_select_db($database_vivalooks, $vivalooks); 
$query_rs_feeds = "SELECT fname,lname FROM profile"; 
$query_limit_rs_feeds = sprintf("%s LIMIT %d, %d", $query_rs_feeds, $startRow_rs_feeds, $maxRows_rs_feeds); 
$rs_feeds = mysql_query($query_limit_rs_feeds, $vivalooks) or die(mysql_error()); 
$row_rs_feeds= mysql_fetch_assoc($rs_feeds); 

if (isset($_GET['totalRows_rs_feeds'])) { 
    $totalRows_rs_feeds = $_GET['totalRows_rs_feeds']; 
} else { 
    $all_rs_feeds = mysql_query($query_rs_feeds); 
    $totalRows_rs_feeds = mysql_num_rows($all_rs_feeds); 

} 
$totalPages_rs_feeds = ceil($totalRows_rs_feeds/$maxRows_rs_feeds)-1; 

do { 

echo json_encode($row_rs_feeds); 
} while ($row_rs_feeds = mysql_fetch_assoc($rs_feeds)); 

mysql_free_result($rs_feeds); 

記錄結果

{"fname":"Benjamin","lname":"Blay"}{"fname":"Alfread","lname":"Mark"}{"fname":"yaa","lname":"tiwaa"} 

但我想要的結果進行編碼這樣而

[{"fname":"Benjamin","lname":"Blay"},{"fname":"Alfred","lname":"Mark"},{"fname":"yaa","lname":"tiwaa"}] 
+1

您應該瞭解[爲什麼不應該使用mysql_ *函數](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)。 – Ekin

回答

0

嘗試

do { 
    $json[]=json_encode($row_rs_feeds); 
} while ($row_rs_feeds = mysql_fetch_assoc($rs_feeds)); 
echo "[".implode(", ", $json)."]"; 

OR

do { 
    $rows[] = $row_rs_feeds; 
} while ($row_rs_feeds = mysql_fetch_assoc($rs_feeds)); 

echo json_encode($rows); 
+0

它的[每個fname的開始處]和每個lname的結尾。我希望所有三個變量都包含在它裏面 – neiza

+0

@neiza更新了代碼,試試這個代碼 – SML

0

嘗試:

do { 
    $rows[] = $row_rs_feeds; 
} while ($row_rs_feeds = mysql_fetch_assoc($rs_feeds)); 

echo json_encode($rows); 
+0

謝謝,但它不工作,這是結果如何顯示:[「{\」fname \「:\」Benjamin \「,\」lname \「:\」Blay \「}」,「{\」fname \ 「:\」Alfred \「,\」lname \「:\」Mark \「}」,「{\」fname \「:\」yaa \「,\」lname \「:\」tiwaa \「}想用這種格式[{「fname」:「Benjamin」,「lname」:「Blay」},{「fname」:「Alfred」,「lname」:「Mark」},{「fname」:「yaa 「,」lname「:」tiwaa「}] – neiza

+0

請將您的新實施粘貼到此處,請 –

+0

執行如下?我不明白 – neiza

0

你可以改變你的循環看起來像這樣:

echo "["; 
$count = 0; 
do { 
    if($count !== 0) 
     echo ","; 
    $count++; 
    echo json_encode($row_rs_feeds); 
} while ($row_rs_feeds = mysql_fetch_assoc($rs_feeds)); 
echo "]"; 

$ count是那裏只是第一跳 「」 所以你不」 t得到[,{...},{...}]或者你可以把它當作假/真...我現在不記得什麼更好的情況下,你有10k步驟循環...

相關問題