Ciao a tutti
ho bisogno di gestire delle categorie strutturate, col classico metodo della tabella che contiene tre campi: id, parent e categoria. Le categoria di primo livello hanno parent = 0 e le altre hanno parent = all'ID della categoria padre. Ho fatto una funzione per scorrere ricorsivamente le categorie e ottenere un albero:
Codice PHP:
public function categories_tree($parent=0 $spacer = '') {
$sql = "SELECT * FROM categorie WHERE parent = $parent ORDER by parent";
$result = $this->db->fetchAll($sql);
$num = count($result);
$spacer .= '- ';
foreach($result as $k => $v) {
if($num == 0 || $result[$k]['parent'] == '0') {
$spacer = '';
}
print $spacer.$result[$k]['categoria']."
";
$this->categories_tree($result[$k]['id'], $spacer);
}
}
basta chiamarla facendo semplicemente
Codice PHP:
$obj->categories_tree()
questa funzione stampa l'albero delle categorie e funziona bene. Quello che non riesco a fare è modificarla per fare in modo che anziche stampare il risultato, questo venga messo in una struttura e restituito dalla funzione...
qualcuno ha idea di come fare?
grazie