Я хочу вставить некоторые данные в таблицу, и один из них я хочу взять с другой таблицы.
Например:
У меня есть 2 таблицы:
Клиенты (CLIENT_ID, имя и т.д.);
Заказы (Book_ID, client_id (ForeignKey), Checkin, и т.д.);
И я хочу вставить Client_ID в таблицу Bookings, где name = "john".
Я думаю, что я должен хранить Client_ID от Клиентов в переменной $ clientID, и когда я вставляю в bookins будет
INSERT INTO bookings(Book_IT,Client_ID,Checkin) values ('1','$clientID','2015-02-20');
Но не работает.
Можете ли вы указать, как сохранить значение Client_ID в $ clientID?
Попробуйте это, он будет работать:
1.Выберите client_id, где name = "john"
$sql = "SELECT Client_ID FROM clients WHERE Name = 'john'";
$result = mysql_query($sql);
$rs = mysql_fetch_array($result);
$clientid = $rs['Client_ID'];
Здесь $clientid
является Client_ID
от John
.
2. Ввести данные в Резервирование.
INSERT INTO bookings(Book_IT,Client_ID,Checkin) values ('1','$clientid','2015-02-20');
вы можете сначала выполнить запрос выбора, который выбирает Client_ID, где name = "john" из вашей таблицы "Клиенты", и хранить результат в массиве. После этого просто зациклируйте массив и вставьте каждый клиент с помощью вашего вышеуказанного оператора insert.
измените запрос на
INSERT INTO заказы (Book_IT, Client_ID, Checkin) значения ('1', $ clientID, '2015-02-20');
и он будет работать