Выбор select по имени и в соответствии с этим именем вывод из БД значений
В таблице komp лежат данные о компаниях, она связана с таблицей gruz, где лежат данные о грузах по id_komp(в табл. gruz. Нужно, чтобы из таблицы komp была выборка имен компаний и после выбора определенной имени компании из таблицы gruz вытаскивалась информация о всех грузах этой компании. Я пыталась сделать так как-то, но не работает. Подскажите пожалуйста, как это сделать?
<?php
session_start();
include_once("Connection.php");
?>
<?php
if (!isset($_SESSION['admin']))
{
include_once("header.php");
}else{
include_once("header/header_admin_1.php");
}
?>
<td>Компания</td>
<td>
<select name="id">
<option></option>
<?php
$sql = mysqli_query($link, 'SELECT `id`, `name` FROM `kompania`');
while ($result = mysqli_fetch_array($sql)) {
echo "\t\t<option value=\"{$result['id']}\">{$result['name']}</option>\n";
}
?>
</td>
<tr>
<td colspan="4"><input type="submit" value="OK"></td>
</tr>
<?php
require_once 'BDconnect.php'; // Подключаем БД из файла
$result = $_GET['id']; // Получаем параметр GET, который передали
// table - название Вашей таблицы
$sql = "SELECT * FROM `gruz` WHERE `id`=$result"; // Ваш запрос в БД(поиск записи по id)
$req = $dbh->prepare($sql);
$req->bindValue(':id', $result, PDO::PARAM_STR); //Данные, которые передаёте в запрос
$req->execute();
$array = $req->fetch(PDO::FETCH_ASSOC); // Возвращаем значение.
?>
<table style="margin-right: 700px; margin-top: 20px;" border='1' align="right" width="20%" cellpadding="28" cellspacing="0" >
<?php
if($array) { // Выводим данные
echo "<td>№ секции <td>{$array['id']}</tr>";
echo "<td>Название книги <td>{$array['id_upac']}</tr>";
echo"<td>Автор <td>{$array['id_hran']}</tr>";
echo "<td>Издание <td>{$array['id_komp']}</tr>";
echo "<td>Год публикации <td>{$array['ves']}</tr>";
echo"<td>Жанр <td>{$array['name']}</tr>";
echo "<td>Количество страниц <td>{$array['rezmer']}</tr>";
}
?>
</table>
Ответы (1 шт):
Автор решения: Ипатьев
→ Ссылка
$result = $_GET['id']; // Получаем параметр GET, который передали
$sql = "SELECT * FROM `gruz` WHERE id_komp=?";
$req = $dbh->prepare($sql);
$req->bind_param(?, $result);
$req->execute();
$array = $req->get_result()->fetch_all(MYSQI_ASSOC);
в переменной $array у нас обычный массив который мы перебираем с помощью обычного оператора foreach