#php #html #mysql #select
#php #HTML #mysql #выберите
Вопрос:
Я пытаюсь получить имена столбцов из базы данных mysql. Я могу получить имя столбца следующим образом:
Array ( [id] => id [BSPKey] => BSPKey [PrintPost] => PrintPost [Barcode] => Barcode [FirstName] => FirstName [LastName] => LastName [Add1] => Add1 [Add2] => Add2 [Suburb] => Suburb [State] => State [Zip] => Zip [Team] => Team [Dteam] => Dteam [Fteam] => Fteam [DPID] => DPID [Error] => Error [Address1] => Address1 [Address2] => Address2 [correct3] => correct3 [correct4] => correct4 [correct5] => correct5 [fcorrect] => fcorrect [bspprint] => bspprint )
чтобы получить это, я использую этот скрипт
$qColumnNames = mysqli_query($conn,"SHOW COLUMNS FROM newdata");
$numColumns = mysqli_num_rows($qColumnNames);
$x = 0;
while ($x < $numColumns)
{
$colname = mysqli_fetch_row($qColumnNames);
$col[$colname[0]] = $colname[0];
$x ;
}
print_r($col);
Но я хочу только имя столбца и хочу заполнить html <select>
-элемент следующим образом
<select name="column_name[]" multiple="multiple">
<option selected="selected" value="id">id</option>
<option selected="selected" value="BSPKey">BSPKey</option>
<option selected="selected" value="PrintPost">PrintPost</option>
<option selected="selected" value="Barcode">Barcode</option>
<option selected="selected" value="FirstName">FirstName</option>
<option selected="selected" value="LastName">LastName</option>
<option selected="selected" value="Add1">Add1</option>
<option selected="selected" value="Add2">Add2</option>
<option selected="selected" value="Suburb">Suburb</option>
<option selected="selected" value="State">State</option>
<option selected="selected" value="Zip">Zip</option>
<option selected="selected" value="Team">Team</option>
<option selected="selected" value="Dteam">Dteam</option>
<option selected="selected" value="Fteam">Fteam</option>
<option selected="selected" value="DPID">DPID</option>
<option selected="selected" value="Error">Error</option>
<option selected="selected" value="Address1">Address1</option>
<option selected="selected" value="Address2">Address2</option>
<option selected="selected" value="correct3">correct3</option>
<option selected="selected" value="correct4">correct4</option>
<option selected="selected" value="correct5">correct5</option>
<option selected="selected" value="fcorrect">fcorrect</option>
<option selected="selected" value="bspprint">bspprint</option>
</select>
Надеюсь, у кого-то есть простое решение.
Комментарии:
1. Вы действительно пробовали это? Где вы заблокированы?
Ответ №1:
Вам просто нужно выполнить итерацию по массиву, который вы получили в конце ( $col
). Просто используйте foreach
этот массив и заполните HTML
его следующим образом,
<select name="column_name[]" multiple="multiple">
<?php
foreach($col as $key=>$val) {
?>
<option selected="selected" value="<?php echo $key; ?>"><?php echo $val; ?></option>
<?php
}
?>
</select>
Результат приведенного выше кода будет таким же, как вам нужно. Он просто отображает <option>
для каждого элемента массива, используя его key
и value
.
Комментарии:
1. Спасибо, приятель, он просто выполнил свою работу
2. Отлично, пожалуйста, примите это как правильный ответ, если это помогло вам.