Anteriormente lidiaba con condicionales para asegurarme de que el option indicado apareciera seleccionado. Luego -y después de tanto golpe- descubrí una opción más rápida. Te dejo aquí parte del código:
Código PHP:
Ver original<?php
$genero = 'un array desde la BD...';
$html = '<select name="genero" id="genero">';
foreach($genero as $gen)
$select_genero .= '<option value="'. htmlspecialchars($gen) .'">'. $gen .'</option>'; $html .= str_replace('value="'. $config['genero'] .'"' , 'value="'. $config['genero'] .'" selected="selected"' , $select_genero); $html .='</select>';
?>
Explicando: se hizo un simple str_replace al value coincidente con el valor ingresado en la BD, agregándole selected="selected". Este truco sólo funciona con elementos de formularios que admitan opciones únicas (como selects o radios). Para campos con múltiples opciones lógicamente el truco no sirve, a menos que se coloque el reemplazo como un array y por lo tanto implicaría un trabajo más engorroso.