Я смог сделать это, используя DESCRIBE для вывода массива данных таблицы.Затем создайте массив столбцов.
$query2=("DESCRIBE ".mysqli_real_escape_string($link, $units_cat));
if ($result2 = mysqli_query($link, $query2)) {
$table_desc = mysqli_fetch_all($result2);
#Create an array of column values
foreach($table_desc as $val) {
$col[]=$val[0];
}
Затем вызовите значения столбца в соответствующем раскрывающемся списке.
<option value="<?php echo($col[2]) ?>"<?php if($_POST['units_from']==($col[2])) echo
'selected="selected"';?>><?php echo($col[2]) ?></option>
Мне пришлось занести в белый список таблицы, на которые ссылался $ units_cat, так как я считаю, что вы не можете подготовить таблицу, поскольку вы не можете привязать параметры к записи таблицы в PHP / SQL.
#Get tables list for whitelisting
$query3="Show tables";
$result3=mysqli_query($link,$query3);
if (!$result3) {
echo "DB Error, could not list tables\n";
echo 'MySQL Error: ' . mysqli_error();
exit;
}
if ($result3=mysqli_query($link,$query3)){
while($row=mysqli_fetch_row($result3)){
$tables[]=$row[0];
}
}
#UNITS CAT WHITELIST CHECK
if (in_array($units_cat,$tables)){
echo nl2br (" \n Units Cat Table exists");
}else{
echo "Table does not exist";
mysqli_close($link);
echo "<br>";
die("non valid entry");
}