MySQL PHP выпадающий динамический

#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.