@
metacortex,
interesante forma de hacerlo. Les propongo otra forma de hacerlo
Código PHP:
Ver original<?php
$genero = 'un array desde la BD...';
$html = '<select name="genero" id="genero">';
foreach($genero as $gen){
$s = ($config['genero'] == $gen ? 'selected="selected"' : '');
$html .= '<option value="'. htmlspecialchars($gen) .'" '. $s .'>'. $gen .'</option>'; }
$html .='</select>';
En el mismo ciclo añadimos el "selected" y los que no cumplan con la condición se le añade la segunda parte de ese operador ternario. Este método sirve para los campos con múltiples opciones. Solo debe añadir por variables. Ejemplo, algo así (suponiendo que los valores están en un array
Código PHP:
Ver original<?php
$genero = 'un array desde la BD...';
$html = '<select multiple="multiple" name="genero" id="genero">';
foreach($genero as $gen){
$s = (in_array($gen, $array) ?
'selected="selected"' : ''); $html .= '<option value="'. htmlspecialchars($gen) .'" '. $s .'>'. $gen .'</option>'; }
$html .='</select>';