ciao a tutti,

sto uscendo pazza!!

io ho un valore $colori = 12_1_15_6_5_
faccio un explode per ricavare solo il numero

$col = explode("_", $colori);

quindi ottengo l'array $col[0] che avrà >> 12,1,15,6,5
adesso devo confrontare tutti i dati dell'array $col con l'id che esce trammite un query, se è uguale imposto selected altrimenti no, con la funzione che ho fatto però mi escono i valori doppi, come mai?

Codice PHP:
function select_colori($connessione,$colori){

$query_color_all "SELECT * FROM `colori` ORDER BY `colori` . `colore` ASC";
$color_all mysql_query($query_color_all$connessione) or die(mysql_error());
$totalRows_color_all mysql_num_rows($color_all);
    if(
$totalRows_color_all 0){
        
$stampa .='<select name="id_colore" id="id_colore" class="colori_multiple" size="5" multiple onChange="selez_1(this);">';            
        
$row_color_all mysql_fetch_assoc($color_all);
        
// $colori è uguale a 12_1_15_6_5_
        
$col explode("_"$colori);
        do{
            
$id_all $row_color_all['id'];
            
$colore_all $row_color_all['colore'];
            
$codice_all $row_color_all['codice'];

            foreach (
$col as $elem => $value){
                if(
$id_all == $value){
                    
$stampa .='<option value="'.$id_all.'" selected>'.$colore_all.'</option>';
                    
$no 0;
                }else{
                    
$no 1;
                }
            }
            
            if(
$no == 1){
                
$stampa .='<option value="'.$id_all.'">'.$colore_all.'</option>';
            }
            
        }while(
$row_color_all mysql_fetch_assoc($color_all));
        
}
$stampa .= '</select><input name="selezionati" type="hidden" id="selezionati" value="'.$colori.'">';

return 
$stampa;




grazie mille