Создание ComboBox с PDO

Я новичок во всем этом, и мне не повезло найти ответы где-либо.
Я пытаюсь создать комбинированный список с PDO, но я просто не могу заставить его работать правильно. Мои результаты показывают массив и все в массиве.

То, что я хочу показать, находится в одном поле со списком equipment_model и, если возможно, на основе этого выбора поле справа от него с ценой, связанной с этой моделью.

Если требуется дополнительная информация, дайте мне знать. Я снова новичок в этом и хочу учиться.

 <form>
<fieldset>
<legend>Selecting elements</legend>
<p>
<label>Furnace</label>
<select name="Equipment1" id = "Equipment1">
<option id="1">
<?PHP
require_once 'php/func_inc.php';
$odb=new PDO('mysql:host=localhost;dbname=proposal_site', 'root', '');
$query = "select equipment_model from equipment_master";
$data = $odb->prepare($query);    // Prepare query for execution
$data->execute();// Execute (run) the query$row=$data->fetchAll(PDO::FETCH_ASSOC);print_r($row);
?>
</option>
</select>
</fieldset>
</form>

0

Решение

Все, что вам нужно сделать, это включить опцию, когда вы выбираете каждую строку.

Я предлагаю вам добавить equipment_id в вашем запросе:

select equipment_id, equipment_model from equipment_master

и распечатать его в цикле:

<select name="Equipment1" id = "Equipment1">
<?php
require_once 'php/func_inc.php';
$odb=new PDO('mysql:host=localhost;dbname=proposal_site', 'root', '');
$query = "select equipment_id, equipment_model from equipment_master";
$data = $odb->prepare($query);    // Prepare query for execution
$data->execute();// Execute (run) the query

while($row=$data->fetch(PDO::FETCH_ASSOC)){
echo '<option value="'.$row['equipment_id'].'">'.$row['equipment_model'].'</option>';
//print_r($row);
}
?>
</select>

Это создаст выбор с опциями.

Лучшим подходом было бы заполнить его с помощью ajax, поскольку у вас есть намерение манипулировать тегом select.

1

Другие решения

Это должно быть хорошей отправной точкой для вас

...
<?PHP
require_once 'php/func_inc.php';
$odb=new PDO('mysql:host=localhost;dbname=proposal_site', 'root', '');
$query = "select equipment_model from equipment_master";
$data = $odb->prepare($query);    // Prepare query for execution
$data->execute();// Execute (run) the query

while ($row = $data->fetchAll(PDO::FETCH_ASSOC))  {
echo  '<option value="'.$row['equipment_model'].'">'.$row['equipment_model'].'</option>';
}
...

Вы должны рассмотреть возможность использования рамок PHP

-4