Non capisco per quale motivo mi da problemi:

Codice PHP:
echo "Inserisci:
"
;                 
$query2 "SELECT chiave1 FROM tabella";                                
$res2 mysql_query($query2,$conn);                                 
$num mysql_num_rows($res);                                 
echo 
$num;                                 
echo 
"<select name=\"tabella1\" >";                                 
echo
"<option value=\"1\">1</option>";                                 
while(
$row=mysql_fetch_array($res2)){                     
$chiave1 $row['chiave1'];                     
echo
"<option value=\"$chiave1\">$chiave1</option>";                                 }                    
echo
" </select>";                                 
$query3 "SELECT chiave2 FROM tabella";                                 
$res3 mysql_query($query3,$conn);                                 
echo 
"<select name=\"tabella2\" >";                                 
echo 
"<option value=\"tabella2\">tabella2</option>";                                 
while(
$row=mysql_fetch_array($res3)){                     
$tab2 $row['chiave2'];                     
echo 
"<option value=\"$tab2\">$tab2</option>";                                 }                    
echo
" </select>";                                 
$query4 "SELECT chiave3 FROM tabella";                                 
$res4 mysql_query($query4,$conn);                                 
echo 
"<select name=\"tipo\" >";                                 
while(
$row=mysql_fetch_array($res4)){                     
$tipo $row['chiave3'];                     
echo
"<option value=\"$tipo\">$tipo</option>";                                 }                    
echo
" </select>

"

Tabella ha 3 chiavi. Ho 3 record:

Chiave1: ciao, Chiave2: bello, Chiave3: marco
Chiave1: ciao, Chiave2: bello, Chiave3: matteo
Chiave1: ciao, Chiave2: bello, Chiave3: ciccio

Ho 3 select affiancate in cui in teoria (ho contato con $num il numero di record restituiti) nella prima ho solo ciao, nella seconda solo bello e nella terza marco, matteo e ciccio.
Invece in tutte e 3 le select che eseguo mi si stampano 3 opzioni e nelle prime 2 ho 3 volte ciao e 3 volte bello.
Come è possibile??? Come faccio per sistemare sta cosa?