Я пытаюсь заполнить раскрывающийся список выбора html данными из нескольких столбцов в запросе mysql.
Когда я извлекаю первый столбец, он без проблем заполняет раскрывающийся список. Когда я добавляю вторую или третью колонку, у меня возникают проблемы. Первоначально у меня были пустые поля, это было решено добавлением! Empty ().
Однако теперь я получаю повторение значений вместо пробелов.
<?php
$base = '';
$base2 = '';
$base3 = '';
while($row = mysqli_fetch_assoc($resultpmb)) {
$code=$row["id"];
$name=$row["gw_name"];
if (!empty(trim($row['vg_name']))){
$vgname=$row["vg_name"];}
if (!empty(trim($row['vm_name']))){
$vmname=$row["vm_name"];}
$base .= "<option value = " .$code.">".$name."</option>";
$base2 .= "<option value = " .$code.">".$vgname."</option>";
$base3 .= "<option value = " .$code.">".$vmname."</option>";
}
?>
<div class = "form-group col-4 col-m-12">
<div class = "input-group">
<span class = "input-group-addon"><span class = "glyphicon
glyphicon-lock"></span></span>
<select name = "base_colour1" class = "form-control" id = "base_colour1">
<option value = "">Base...</option>
<?php
echo "<option value=''>---- GW Golour ----</option></br>";
echo $base;
echo "<option value=''>---- Vallejo Game Golour ----</option>";
echo $base2;
echo "<option value=''>---- Vallejo Model Golour ----</option>";
echo $base3;
?>
</select>
</div>
</div>
Это потому, что это разные поля в одной строке.






Может быть проще добавить строки в ваш тест !empty(), иначе он всегда будет добавлять значения - даже если их нет ...
while($row = mysqli_fetch_assoc($resultpmb)) {
$code=$row["id"];
$name=$row["gw_name"];
if (!empty(trim($row['vg_name']))){
$base2 .= "<option value = " .$code.">".$row["vg_name"]."</option>";
}
if (!empty(trim($row['vm_name']))){
$base3 .= "<option value = " .$code.">".$row["vm_name"]."</option>";
}
$base .= "<option value = " .$code.">".$name."</option>";
}
Ваше значение внутри цикла все равно, что
$code