Rekursive php-mysql-Abfrage/Funktion für die Struktur der Kategorien
Ich habe einen oscommerce eingerichtet und haben entschieden, um "beliebtesten" in jeder Produkt-Kategorie. Ich brauche die Abfrage alle untergeordneten Kategorien, so dass ich dann die Abfrage für das beliebteste Produkt in der Liste und zeigt es an.
JEDOCH.
Habe ich diese Funktion und ich kann einfach nicht scheinen, um das array mit der Kategorie-id ' s aus. Ist diese Frage zu tun mit scope??
$children_ids = array();
function fetch_children($parent) {
$result = tep_db_query('SELECT `categories_id` FROM categories WHERE parent_id = "'.(int)$parent.'"');
while($row = tep_db_fetch_array($result)) {
$children_ids[] = (int)$row['categories_id'];
fetch_children($row['categories_id']);
}
}
Gehe ich an dieser Stelle nicht versuchen, den Zugriff auf das array der Daten über die $children_ids
variable jedoch scheint dies nicht alles enthalten!? Ich habe auch versucht array_push();
Irgendwelche Ideen?
InformationsquelleAutor Stefan P | 2011-03-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Sie versuchen zu ändern, eine Globale variable innerhalb einer Funktion. Können Sie deklarieren, variable global, von innerhalb der Funktion Körper (ich würde aber dringend empfohlen, vor der es) oder Sie haben die Funktion, die das array von children_ids, das wäre in etwa so (nicht getestet):
Hi Carlos, Das ich dachte, funktionieren würde, in der Theorie, aber es scheint zu laufen nur die Funktion einmal oder wieder nur der erste Satz o Ergebnisse aus der ersten Abfrage. Irgendwelche Ideen?
hm scheint ich habe vergessen, zu binden, das Ergebnis der
array_merge
auf eine variable. Versuchen$list = array_merge($list, fetch_children($row['categories_id']);
InformationsquelleAutor Carlos Campderrós