Newsgroup: it.comp.www.php
Titolo: Estrazione dati MySql

Ciao ragazzi, ho un problema con uno script(directory di links)
----------------
Le Tabelle del db MySql a cui si appoggia lo script sono strutturate cosě:
TABELLA CATEGORIE
     campi: id, sub_cat, name, dsc
TABELLA LINKS
     campi: id, cat_id, url, dsc, approved
----------------
IN QUESTO MODO ESTRAGGO IL TOTALE DEI LINKS:
     $result = MySQLQuery("SELECT * FROM $table_LINKS WHERE
approved='yes'",$QueryError_Email,$QueryError_Browser);
     $total_links= mysql_num_rows($result);
IN QUESTO MODO ESTRAGGO IL TOTALE DELLE CATEGORIE:
     $risultato = MySQLQuery("SELECT * FROM
$table_CAT",$QueryError_Email,$QueryError_Browser);
     $totale_categorie=mysql_num_rows($risultato);
----------------
VENIAMO AL PROBLEMA:
In poche parole vorrei che al lato di ogni categoria venisse indicato il
numero di TUTTI i
links e TUTTE le sottocategorie in essa contenute(compresi categorie e links
contenuti nelle
sottocategorie).
ESEMPIO:
- Ho la categoria PIPPO che contiene 5 links e 3 sottocategorie;
- e 3 sottocategorie contengono, a loro volta, 4 links e 6 sottocategorie;
- In base a ciň che voglio ottenere, i numerini che mi indicano il totale,
posti a fianco del nome della categoria PIPPO mi devono appunto indicare che
PIPPO contiene 9 LINKS e 9 SOTTOCATEGORIE.
- Purtroppo ciň non accade e i numerini indicano esclusivamente i totali
relativi alla categoria PIPPO(5 e 3)
----------------
La domanda č: COME FACCIO AD ESTRARRE I TOTALI CHE DESIDERO??
Se vi bastano le info che vi ho dato, potreste indicarmi la QUERY esatta per
l'estrazione??
Grazie ragazzi.
Confido in un vostro aiuto, anche perchč devo risolvere il problema quanto
prima!
Saluti a tutti
XX

 esatta per l'estrazione??
Con la struttura delle tabelle che hai non e' possibile estrarre i
totali con un a sola query, devi effettuare una query per ogni
sottocategoria, in alternativa ristruttura il DB in modo da avere un
campo con i totali per ogni categoria (e relative sottocategorie)
oppure utilizza una struttura tipo nasted sets.
-- 
I am what I am, I do what I can
L'uomo, conscio di sbagliare, persevera.

 oppure utilizza una struttura tipo nasted sets.
Ciao, grazie per aver risposto. Era un po' quello che temevo.
Siccome lo script non è mio e cmq non ho grande esperienza in materia,
volevo chiederti quale sia la soluzione più semplice da attuare. Potrei
lasciare tutto così e inserire semplicemente un altro CAMPO nella tavola
delle CATEGORIE? Se sì, quali proprietà dovrebbe avere?
Ti ringrazio
Ciao

 nella tavola delle CATEGORIE? Se sl, quali propriet` dovrebbe avere?
Un campo numerico (INT dovrebbe andare bene). 
Poi puoi modificare lo script di inserimento in modo da aggiornare il
campo all'atto dell'inserimento/spostamento/eliminazione di un elemento
dalla categoria.


Grazie mille.
Mi avventurerň nella cosa e vedremo che ne esce :)
Ciao

Ciao Setec_Astronomy,
mi hanno suggerito questa soluzione, secondo te può andare(anche se non so
come recuperare l'id della categoria)?
-------------
Select Count(*) as Conta_Links From LINKS Where cat_id = id della categoria
P.S.
id della categoria lo recuperi dal ciclo dove scorri tutte le categorie
ovviamente
Conta_Links lo devi trattare come se fosse un campo di una tabella, l'
istruzione Count(*) infatti crea un campo virtuale dove mantiene il
conteggio dei records.
-------------
Grazie ;)
Ciao