數組鍵喜有此程序建立的新聞PHP保存遞歸過程
public function getNewsChain(&$chain, $itemID,$langID, $direction="prev") {
$langID = $this->db->lngPatch($langID);
$where = ($direction == "prev") ? "n.ID='$itemID'" : "ln.Rif='$itemID'";
$qr = "SELECT n.ID, n.idSS, n.Data_News AS startDate, n.evento AS event, n.Data_Fine AS endDate, n.rifGeog,
ln.Titolo, ln.Corpo, ln.Link AS link, ln.Pretitolo, ln.sottoTitolo, ln.Immagine, ln.Rif, ln.idLng
FROM news n LEFT JOIN lngnews ln ON n.ID=ln.idNews
WHERE $where AND ln.idLng='$langID'";
if ($rs = $this->db->exQ($qr,$this->src, true, false)) {
$row = $this->db->fetch($rs['RS']);
$chain[$row['ID']] = array("itemID"=>$row['ID'],
"langID"=>$this->db->lngPatchRev($row['idLng']),
"ssID"=>$row['idSS'],
"startDate"=>$row['startDate'],
"event"=>$row['event'],
"endDate"=>$row['endDate'],
"title"=>$row['Titolo'],
"body"=>$row['Corpo'],
"link"=>$row['link'],
"pretitle"=>$row['Pretitolo'],
"subtitle"=>$row['sottoTitolo'],
"geoRefer"=>$row['rifGeog'],
"image"=>$row['Immagine'],
"rif"=>$row['Rif']);
if ($row['Rif'] != 0) {
$this->getNewsChain($chain, $row['Rif'],$row['idLng'], "prev");
} else {
$chain = array_reverse($chain);
$this->getNewsChain($chain, $chain[count($chain)-1]['itemID'], $row['idLng'], "next");
}
} else {
if ($row['Rif'] != 0) {
$this->getNewsChain($chain, $row['ID'], $row['idLng'], "next");
}
}
}
}
的陣列鏈式此過程返回一個正確的數組,但有復位鍵。 我該如何保存索引?
謝謝。另一個問題我怎麼能把它變成一個函數? – user1259211 2012-03-09 12:09:39