#php #sql #database
#php #sql #База данных
Вопрос:
Я создаю форму редактирования php. Я хочу показать категорию, выбранную в таблице notebook, в выпадающем списке, но также показать параметры, доступные в таблице категорий, чтобы, если категорию необходимо изменить, можно было выбрать. Обе таблицы находятся в одной базе данных — примечания. Я пробовал использовать Join Table, но это не сработало. Есть ли способ показать текущий выбор в «главной таблице», в моем случае в таблице notebook, при отображении параметров из таблицы категорий в выпадающем списке?
Ниже показан текущий выбор в выпадающем списке.
<?php include 'dbconnections/categoryform_db.php'; ?>
<?php
//query
echo "<select name='category'>";
echo '<option value="">Category</option>';
while ($row = $result->fetch_assoc()) {
unset($id, $category);
$id = $row['id'];
$category = $row['category'];
echo '<option value="'.$category.'">'.$category.'</option>';
}
echo "</select>";
mysqli_close($conn);
?>
Приведенный выше включаемый файл выглядит следующим образом — в нем будет отображен текущий выбранный файл.
<?php
$id = $_GET['id'];
$category = $_GET['category'];
$connection = new mysqli('mysql', 'username', 'psswrd#', 'dbname');
if ($connection->connect_errno > 0) {
die ('Unable to connect to database [' . $connection->connect_error . ']');
}
$sql = "SELECT id, category
FROM notebook
WHERE id=$id";
if (!$result = $connection->query($sql)) {
die ('There was an error running query[' . $connection->error . ']');
}
?>
Есть ли способ объединить приведенное выше с приведенным ниже, который предоставляет полный список параметров категории в один файл?
<?php
$category = $_GET['category'];
$connection = new mysqli('mysql', 'username', 'psswrd#', 'dbname');
if ($connection->connect_errno > 0) {
die ('Unable to connect to database [' . $connection->connect_error . ']');
}
$sql = "SELECT id, category
FROM category";
if (!$result = $connection->query($sql)) {
die ('There was an error running query[' . $connection->error . ']');
}
?>
Заранее благодарю вас за любую помощь в этом вопросе.
Ответ №1:
Что мешает вам использовать UNION :
SELECT id, category, 'cat' as type FROM category
UNION
SELECT id, category, 'note' as type FROM notebook WHERE id=$id
Я ввел статический текст как «тип», чтобы определить, какие данные были извлечены из какой таблицы
Комментарии:
1. по умолчанию по-прежнему используется первый вариант таблицы категорий, а не вариант, выбранный в таблице notebook.