Salve ragazzi,
avrei una domanda. Ho una tabella 'sezioni' il cui campo 'madre' indica se una data sezione è una sotto-sezione di un'altra, e se sì il valore di questo campo è l'id di quest'ultima.
es:
ID | Madre | Titolo
1 | 0 | Prodotti
2 | 1 | Pasta lunga
3 | 2 | Spaghetti
Dovrei ora ricostruire tutto il percorso, a qualsiasi "profondità", quindi se sto in "Spaghetti" vorrei ottenere un array con gli ID delle sezioni anche superiori. Ho scritto questa funzione:
Nel caso stia in "Prodotti" e "Pasta lunga" va, se sto in "Spaghetti" e decommento quel print_r mi restituisce:Codice PHP:
function recupero_principale($sezioni_storiche) {
// GET['s'] è l'ID della sezione corrente, ovvero "Spaghetti"
if(count($sezioni_storiche)==0) $sezioni_storiche[]=$_GET['s'];
$result_sezione=mysql_query("SELECT madre FROM sezioni WHERE idsezione=".$sezioni_storiche[(count($sezioni_storiche)-1)]);
$row_sezione=mysql_fetch_array($result_sezione);
// Altrimenti passo alla sua funzione madre
if($row_sezione['madre']!=0) {
$sezioni_storiche[]=$row_sezione['madre'];
recupero_principale($sezioni_storiche);
}
//print_r($sezioni_storiche); print '
';
return $sezioni_storiche;
}
Array ( [0] => 3 [1] => 2 [2] => 1 )
Array ( [0] => 3 [1] => 2 [2] => 1 )
Array ( [0] => 3 [1] => 2 )
Cosa può essere?
Grazie![]()