Quiero rellenar un HTML <select>
con opciones de un campo ENUM en una base de datos MySQL usando PHP y objetos de datos PHP (PDO). ¿Cómo puedo hacer esto? aplicación¿Cómo llenar <select> con ENUM valores?
6
A
Respuesta
7
vainilla PHP:
<select>
<?
$result = mysql_query('SHOW COLUMNS FROM '.$table_name.' WHERE field="'.$column_name.'"');
while ($row = mysql_fetch_row($result)) {
foreach(explode("','",substr($row[1],6,-2)) as $option) {
print("<option>$option</option>");
}
}
?>
<select>
PHP Data Objects aplicación
<select>
<?
$sql = 'SHOW COLUMNS FROM '.$table_name.' WHERE field="'.$column_name.'"';
$row = $db->query($sql)->fetch(PDO::FETCH_ASSOC);
foreach(explode("','",substr($row['Type'],6,-2)) as $option) {
print("<option>$option</option>");
}
?>
</select>
4
Aquí hay otra solución que puede utilizar como una función de ayuda siempre que lo desee para obtener los valores de enumeración en una matriz para su uso como necesario.
public static function getSQLEnumArray($table, $field, $db){
$row = $db->query("SHOW COLUMNS FROM ".$table." LIKE ".$field)->fetch(PDO::FETCH_ASSOC);
preg_match_all("/'(.*?)'/", $row['Type'], $categories);
$fields = $categories[1];
return $fields;
}
+0
¡Gran función! Pero necesito cotizaciones alrededor de $ field: $ row = $ db-> query ("SHOW COLUMNS FROM". $ Table. "LIKE '". $ Campo. "') -> fetch (PDO :: FETCH_ASSOC); –
Cuestiones relacionadas
- 1. gama Llenar MATLAB con los mismos valores
- 2. Valores enum como lista desplegable
- 3. ¿Cómo imprime qDebug() valores enum?
- 4. ¿Cómo llenar un vector con valores iniciales no triviales?
- 5. manera de llenar la lista <> con elementos
- 6. Java enum valueOf() con valores múltiples?
- 7. Valores enum no únicos
- 8. Store Map <Enum, Enum> como String
- 9. EnumMap vs Enum valores
- 10. C# Obtener Enum valores
- 11. ¿Cómo lleno una lista desplegable con valores enum?
- 12. ¿Cómo se agrupan los valores de Enum?
- 13. Cómo almacenar valores enum en un NSMutableArray
- 14. ¿Cómo prevenir valores duplicados en enum?
- 15. NumPy matriz de inicialización (llenar con valores idénticos)
- 16. Llenar matriz con valores sin bucle en PHP
- 17. ¿Cómo implementar enum con genéricos?
- 18. Convertir <Enum> a la lista <string>
- 19. ¿Cómo llenar NA con la mediana?
- 20. Uso de Dapper para llenar las propiedades de Enum
- 21. operaciones aritméticas en valores enum
- 22. Verificar valores de enum válidos antes de usar enum
- 23. ¿Poner los valores ENUM a android spinner?
- 24. Problemas con JSON Serialize Diccionario <Enum, Int32>
- 25. Pasa por los valores Enum "seleccionados"?
- 26. Guardar valores enum en un diccionario
- 27. Java Enums: enumerar los valores enumerados de una clase <? extiende Enum>
- 28. ¿Cómo llenar una tabla con datos verticalmente?
- 29. Asignación de valores xml a enum tipo
- 30. ¿Cómo obtener todos los valores enum en Java?
Es perfectamente aceptable para contestar propia pregunta: http: //meta.stackexchange.com/questions/12513/should-i-not-answer-my-own-questions – WojtekT
@kotekzot: mi error. :) – eggyal