Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengisi Dropdown dengan Nilai Enum dari MySQL?

Bagaimana untuk Mengisi Dropdown dengan Nilai Enum dari MySQL?

Patricia Arquette
Patricia Arquetteasal
2024-10-27 08:39:301002semak imbas

How to Populate Dropdowns with Enum Values from MySQL?

Mendapatkan kembali Nilai Enum dalam MySQL untuk Populasi Dropdown

Satu cabaran biasa dalam penjanaan bentuk dinamik ialah mengisi dropdown dengan nilai enum yang diambil daripada pangkalan data. MySQL menyediakan kaedah yang mudah untuk mengekstrak nilai ini.

Mengambil Nilai Enum menggunakan SQL

Untuk mendapatkan nilai enum yang mungkin daripada jadual pangkalan data, laksanakan pertanyaan berikut:

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

Mengekstrak Nilai Enum daripada Hasil Pertanyaan

Lajur Jenis hasil pertanyaan akan mengandungi nilai enum yang disertakan dalam petikan tunggal. Untuk mengekstraknya, anda boleh menggunakan kod berikut:

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

Fungsi Contoh

Fungsi berikut menggabungkan langkah di atas untuk mendapatkan nilai enum:

<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>

Fungsi ini boleh digunakan bersama dengan logik penjanaan borang anda untuk mengisi dropdown secara automatik dengan nilai enum yang diambil daripada pangkalan data.

Atas ialah kandungan terperinci Bagaimana untuk Mengisi Dropdown dengan Nilai Enum dari MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn