Ben bir noktaya kadar çalışır ... aşağıdaki özyinelemeli işlevi var. Sorguları yaklaşık 100'ü Sonra bir kez komut daha fazla bellek için sorar, ve ben daha fazla bellek eklediğinizde, komut genellikle sadece (benim tarayıcı üzerinde beyaz bir ekran ile sonuna kadar) ölür.
public function returnPArray($parent=0,$depth=0,$orderBy = 'showOrder ASC'){
$query = mysql_query("SELECT *, UNIX_TIMESTAMP(lastDate) AS whenTime
FROM these_pages
WHERE parent = '".$parent."' AND deleted = 'N' ORDER BY ".$orderBy."");
$rows = mysql_num_rows($query);
while($row = mysql_fetch_assoc($query)){
// This uses my class and places the content in an array.
MyClass::$_navArray[] = array(
'id' => $row['id'],
'parent' => $row['parent']
);
MyClass::returnPArray($row['id'],($depth+1));
}
$i++;
}
Herkes bana kaynak yoğun bu sorgu daha az olmasına yardımcı olabilir? Ya da bir şekilde ... çağrılar arasında belleği boşaltmak için bir yol bulmak.