我有這段代碼,目前差不多做我需要的。它需要從表中選擇所有記錄,然後將它們格式化爲編碼爲JSON。但是,一條記錄將有一個「類型」字段設置爲「默認」。該記錄首先放置在JSON文件中,格式稍有不同。在php中忽略mysql記錄的命令
目前,如果設置爲默認值的記錄是數據庫表中的最後一項,則此功能將會正常工作。但是,如果不是,那麼在編碼爲JSON時格式會中斷。
任何人都可以幫助建議一個修補程序,它會強制它忽略默認條目的位置,但保留格式?
// Get the data from the DB.
$query = 'SELECT type, headline, startDate, text, media, caption, credits FROM #__timeline_entries'.$table.'';
$db->setQuery($query);
// Load it and put it into an array
$list = $db->loadObjectList();
$len = count($list);
$data = array();
for ($i = 0; $i < $len; $i++) {
$temp = (array) $list[$i];
$temp["asset"] = array(
"media" => $temp["media"],
"credit" => $temp["credits"],
"caption" => $temp["caption"]
);
unset($temp["media"]);
unset($temp["credits"]);
unset($temp["caption"]);
if ($temp["type"] == "default") {
$data = $list[$i];
unset($list[$i]);
$list[$i] = $temp;
}
}
// Prep it for JSON
$data->date = &$list;
// Loop it once more!
$dataTwo->timeline = &$data;
// Encode the data to JSON.
$jsondata = json_encode($dataTwo);
這是Joomla組件的一部分,但它並沒有真正使用數據庫連接之外的任何Joomla框架。我想我會提及它以防萬一它有所作爲,但我不知道如何。
謝謝!這麼簡單,但完美的作品! –