grazie Marketto, l'articolo è interessante ma non posso cambiare la tabella (il sito è già operativo e già applicare queste modifiche non è semplice)
ho risolto in questo modo, credete che si possa migliorare?
Codice PHP:
### seleziono tutti i dipendenti #######
$query_dip = "SELECT id, dipendente_di, cognome FROM utenti WHERE dipendente_di!=0 ORDER BY cognome";
$result_dip = mysql_query($query_dip) or die("Errore:".mysql_error());
while ($row_dip = mysql_fetch_array($result_dip)) { //elenco dipendenti
${"dipendenti".$row_dip['dipendente_di']}[$row_dip['id']] = strtolower($row_dip['cognome']);
}
#########################################
$select_utenti = "<select name=\"cliente\" id=\"cliente\" onChange=\"this.form.submit();\">\n<option value=\"0\"> -- seleziona cliente --\n";
############ lettura UTENTI ###
$query = "SELECT * FROM utenti WHERE dipendente_di=0 ORDER BY cognome";
$result = mysql_query($query) or die("Errore:".mysql_error());
while ($row = mysql_fetch_array($result)) { //elenco clienti
if( $row['id']== $cliente) {
$select_utenti .= "\n <option value=".$row['id']." selected>".strtoupper($row['cognome'])."\n";
}else{
$select_utenti .= "\n <option value=".$row['id'].">".strtoupper($row['cognome'])."\n";
}
# dipendenti ####
if( isset(${"dipendenti".$row['id']}) ){
foreach(${"dipendenti".$row['id']} as $k => $valore){
if($valore!=''){
if($k==$cliente )$select_utenti .= "\n <option value=".$k." selected>- ".$valore."\n"; else $select_utenti .= "\n <option value=".$k.">- ".$valore."\n";
}
}
}
}
$select_utenti .= "\n </select>";