Buongiorno a tutti,

Ho ovviamente un problema con uno script che sto provando a creare per il mio sito.
Si tratta di una query SQL che recupera dei dati da delle tabelle nel mio database e che a seconda della corrispondenza di essi stampa oppure no.

Attualmente effettuo una query su una tabella specifica e ne recupero i dati che mi interessano :

Codice PHP:
$query "SELECT * FROM categorie WHERE tipo='category'"
$result mysql_query($query); 
while (
$row mysql_fetch_array($result))
{
$cat $row3[ID]; 
Dopodiché recupero l'ID univoco dell'elemento dell'array che ho ricavato e tramite questo vado a prendere il nome dell'elemento da un'altra tabella.

Codice PHP:
$query2 "SELECT * FROM nomi WHERE ID_nomi='$cat'"
$result2 mysql_query($query2); 
$row2 mysql_fetch_array($result2); 
Ora vado a prendere l'ID della recensione che sto esaminando e analizzo quali categorie sono associate alla recensione.

Codice PHP:
$id $_GET[id];
$query3 "SELECT * FROM categorie_post WHERE ID='$id'";
$result3 mysql_query($queryc);
$row3 mysql_fetch_array($resultc); 
Ora faccio un controllo sui valori ottenuti tramite un if e se la condizione è vera mi stampa una cosa altrimenti stampa l'altra.

Codice PHP:
if ($cat == $rowc[ID_cat]) 

print 
"$row2[name] <input type=checkbox name=$row2[ID] value=$row2[ID] class=cbRicordami checked>|"
} else 

print 
"$row2[name] <input type=checkbox name=$row2[ID] value=$row2[ID] class=cbRicordami>|"


Ora il mio problema è che questo script funziona benissimo finché si tratta di avere una sola categoria sulla recensione che sto esaminando, ma se ho più di 1 categoria lui fa il check dell'IF solo sul primo risultato che viene indicato dalla 3a query mentre invece dovrebbe farlo su ogni risultato della 3a...
Ho provato inserendo i while, i foreach ma non sono stato in grado di migliorare la mia situazione...
Voi avete qualche idea?