Как я могу получить имя столбца из конкретной таблицы Mysql в массиве

#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. Отлично, пожалуйста, примите это как правильный ответ, если это помогло вам.