2016-05-21 3 views
-1

У меня есть таблица книг и таблица категорий. У меня также есть выпадающий список с генерируемыми данными из таблицы категорий. Я хочу, чтобы пользователь менял категорию в таблице книг, например, с 5 по 9. В моем выпадающем списке я присвоил значение идентификатору категории. Как я могу получить значение категории идентификатора из выпадающего списка и обновить таблицу книги с новой категорией идентификаторомКак обновить значение внешнего ключа в таблице

+------------+---------+----------------+ 
| Books         | 
+------------+---------+----------------+ 
| bookID  | bName |categoryID (FK) | 
+------------+---------+----------------+ 
|   1 |some text|5    | 
|   2 |some text|9    | 
+------------+---------+----------------+ 

+------------+---------+ 
|  category  | 
+------------+---------+ 
| categoryID |cat name | 
+------------+---------+ 
|   5 |fiction | 
|   9 |history | 
+------------+---------+ 

ответ

2

Лучшим способом сделать это с помощью расширения в PHP для управления базой данных. Два из них, которые работают очень хорошо, это PDO и MySQLi (помните о более раннем расширении, mysql для PHP устарел и не должен использоваться).

Основным рабочим процессом для этого вы захотите, чтобы сгенерировать форму и при представлении от пользователя взять данные $ _POST и отправить их в вашу базу данных через PHP, чтобы обновить таблицу, что-то вроде (но не точно):

// Establish a connection to your database with MySQLi using the correct 
// hostname, username, password, and database name 
$connection = new mysqli($hostname, $username, $password, $database); 

// Check if the connection works 
if($connection->connect_errno) { 
    die("Unable to connect to database"); 
} 

// Retrieve the new id from your form 
$new_id = $_POST['new_id']; 

// Set the MySQL query to run which will update your table 
// Below where it says "table" use your table's name 
$query = "UPDATE table SET categoryID = '$new_id' WHERE bookID = '$bookID'"; 

// Execute the query 
$connection->query($query); 

// Close the connection to the database 
$connection->close(); 

Если вы не знакомы с использованием PHP для управления базами данных на PHP руководства имеет удивительную документацию о том, чтобы сделать все, что here

Смежные вопросы