Mi son perso un paio di post, scusate[supersaibal]Originariamente inviato da |\/|atrix
Ora l'unico problema che non so come risolvere è: Come faccio a sapere l'id della categoria nella quale è contenuta ogni categoria?
Cioè nell'esempio di giacche (che ha l'id 4) come faccio a calcolarmi l'id della categoria Abbigliamento (cioè id 2) che la contiene?
Vi ringrazio ancora per l'attenzione![/supersaibal]
![]()
Per rispondere a quest'ultima domanda, ti faccio notare che il problema ricade sempre nella questione della ricerca del percorso dalla radice ad un nodo, anche se in effetti qua non ti serve il percorso completo, ma solo un determinato nodo (quello che nell'albero sta sopra al nodo figlio).
Per farla breve, una query che funziona:
usando < e > invece di <= e >= si elimina in sostanza il nodo figlio dai risultati. Poichè chi sta sopra nell'albero ha il valore sx inferiore, ti basta ordinare per questo valore decrescente (ORDER BY sx DESC) e visto che dell'elenco di risultati ottenuti ti interessa solo il primo elemento, ecco spiegato quel LIMIT 1.codice:SELECT id FROM tabella WHERE sx < $sx_figlio AND dx > $dx_figlio ORDER BY sx DESC LIMIT 1;