Есть зависимые select
поля для выбора марки и моделей авто.
Запрос делаю так, но он выводит только модели из БД, а марки нет, как исправить?
Таблица mark
содержит поля id
, title
(название марки)
Таблица model
содержит поля id
. mark_id
, title
(модели)
При совпадении полей таблицы mark.id
и model.mark_id
нужно чтобы выводились все совпадения моделей из model.title
Пробовал так.
$marks = R::findAll('mark', 'ORDER BY title ASC');
$model = R::findAll('model', 'ORDER BY title ASC');
И так.
SELECT
mark.id,
mark.title,
mark.title AS mark,
model.title AS model
FROM mark
INNER JOIN mark ON mark.id = model.mark_id
INNER JOIN model ON model.mark_id = model
LEFT JOIN rent_photo ON rent.id = rent_photo.rent_id
Предыдущий комментатор был практически прав.
Но у него была ошибка с одним полем таблицы model, вместо name
у Vovvka стоит title
.
$model = R::getAssoc('SELECT model.id, model.title AS model,mark.title AS Mark
FROM model
INNER JOIN mark
ON model.mark_id = mark.id');
Укажите на странице проверку print_r($model);
У вас должны выйти на страницу все марки и модели по ключам.
CREATE TABLE mark
(
Id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(20) NOT NULL
);
CREATE TABLE model
(
Id INT PRIMARY KEY AUTO_INCREMENT,
mark_id INT,
name VARCHAR(20) NOT NULL,
FOREIGN KEY (mark_id) REFERENCES mark(Id)
);
SELECT model.id, model.name AS Model,mark.title AS Mark
FROM model
INNER JOIN mark
ON model.mark_id = mark.id;
OUTPUT
+----+----------+--------+
| id | Model | Mark |
+----+----------+--------+
| 1 | X5 | BMW |
| 2 | X4 | BMW |
| 3 | camry | Toyota |
| 4 | Ravon r3 | Nexia |
| 5 | Ravon r4 | Nexia |
| 6 | Ravon r2 | Nexia |
+----+----------+--------+
Рекомнедую посетить Joins in sql и изуть детальнее
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Я думал разбить таблицы в базе данных по секциям ( header, content , footer) или по определенным фрагментам( например , если несколько карточек товаров...
в sql есть оператор LOCATE() для поиска подстроки в столбце базы данных
пытаюсь составить такой запрос для вывода данных, где хочу вывести на экран бригаду, имя и фамилию работника, адрес, тип работы, дату начала...