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