我正在使用MySQL構建郵件系統。一切都很好,但我需要能夠做一件特別的事情。如何輸出與JSON相同的MYSQL列兩倍
在其中一個表中,我有'sender_id'列。
我把這個'sender_id'並通過一個函數運行它,然後檢索用戶頭像並輸出返回的JSON響應中的鏈接。
我需要此鏈接...但我也需要能夠檢索'sender_id'本身作爲一個數字,以便我可以在jQuery中測試它。
那麼最終我原來的'sender_id'是如何被複制並放入一種虛擬列'之前'它已被我的'獲得頭像'功能處理。
我的查詢等後使用,以輸出JSON的代碼如下: -
/*
* Output
*/
$output = array(
"sEcho" => intval($_GET['sEcho']),
"iTotalRecords" => $iTotal,
"iTotalDisplayRecords" => $iFilteredTotal,
"aaData" => array()
);
while ($aRow = mysql_fetch_array($rResult))
{
$row = array();
for ($i=0 ; $i<count($aColumns) ; $i++)
{
if ($aColumns[$i] == "version")
{
/* Special output formatting for 'version' column */
$row[] = ($aRow[ $aColumns[$i] ]=="0") ? '-' : $aRow[ $aColumns[$i] ];
}
if ($aColumns[$i] == "sender_id")
{
/* Special output to render Avatar by user id */
$row[] = commentplayer_get_user_avatar($aRow[ $aColumns[$i] ]);
}
else if ($aColumns[$i] == "message")
{
/* General output */
$row[] = strip_slashes($aRow[ $aColumns[$i] ]);
}
else if ($aColumns[$i] != ' ')
{
/* General output */
$row[] = $aRow[ $aColumns[$i] ];
}
}
$output['aaData'][] = $row;
}
echo json_encode($output);
?>
$ aColumns是被前面所定義的列的陣列,顯然「SENDER_ID」是這些中的一個。正如你所看到的,我已經放入了一個條件語句,以便sender_id作爲化身鏈接而不是實際的sender_id重新構建。因此,對於sumarise,我只需要能夠將實際的sender_id和頭像拉到一起,最好放到單獨的列中。
任何想法?
我其實已經通過在DOM比較文本而不是用戶ID,H但是這將是更爲有效的,如果我能做到這一點的服務器端找到了解決我的問題與jQuery。如果任何人都能指出我會朝着正確的方向發展,那將是很棒的。 – gordyr
你的評論讓我難過。 – AlienWebguy
順便說一句:我估計'如果$ aColumns [$ i]!=''...'的機率實際上使得任何差異都很低。 –