Maison >développement back-end >tutoriel php >Comment remplir les listes déroulantes avec des valeurs Enum à partir de MySQL ?

Comment remplir les listes déroulantes avec des valeurs Enum à partir de MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-27 08:39:301116parcourir

How to Populate Dropdowns with Enum Values from MySQL?

Récupération de valeurs d'énumération dans MySQL pour la population des listes déroulantes

Un défi courant dans la génération de formulaires dynamiques consiste à remplir les listes déroulantes avec des valeurs d'énumération récupérées à partir d'une base de données. MySQL fournit une méthode pratique pour extraire ces valeurs.

Récupération des valeurs d'énumération à l'aide de SQL

Pour obtenir les valeurs d'énumération possibles à partir d'une table de base de données, exécutez la requête suivante :

<code class="sql">SHOW COLUMNS FROM [table_name] WHERE Field = '[field_name]'</code>

Extraction des valeurs d'énumération du résultat de la requête

La colonne Type du résultat de la requête contiendra les valeurs d'énumération entre guillemets simples. Pour les extraire, vous pouvez utiliser le code suivant :

<code class="php">$type = $row['Type'];
preg_match('/^enum\(\'(.*)\'\)$/', $type, $matches);
$enum = explode("','", $matches[1]);</code>

Exemple de fonction

La fonction suivante combine les étapes ci-dessus pour récupérer les valeurs d'énumération :

<code class="php">function get_enum_values($table, $field)
{
    $type = fetchRowFromDB("SHOW COLUMNS FROM {$table} WHERE Field = '{$field}'")->Type;
    preg_match("/^enum\(\'(.*)\'\)$/", $type, $matches);
    $enum = explode("','", $matches[1]);
    return $enum;
}</code>

Cette fonction peut être utilisée en conjonction avec votre logique de génération de formulaire pour remplir automatiquement les listes déroulantes avec les valeurs d'énumération récupérées de la base de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn