|
|
|
| Не могу вытянуть из трёх связанных таблиц данные
<?php
$qwerty = mysql_query("SELECT
vakans.id_vak, vakans.koment, vakans.id_firm, vakans.id_dol,
firm.id_firm, firm.name_firm,
dolzgnost.id_dol, dolzgnost.name_dol
FROM vakans, firm, dolzgnost
WHERE vakans.id_firm = firm.id_firm, vakans.id_dol = dolzgnost.id_dol
");
while($res = mysql_fetch_array($qwerty)){
echo "$res[koment]".'<br>';
}
?>
выдает такую ошибку: Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\OpenServer\domains\localhost\inodb\vakans.php on line 61
Подскажите что не так?
|
| |
|
|
|
|
|
|
|
для: davidoff_72
(11.08.2015 в 22:40)
| | Вы не проверяете результат работы функции mysql_query() перед дальнейшим употреблением. | |
|
|
|
|
|
|
|
для: Trianon
(12.08.2015 в 01:55)
| | да, есть такой грех. каюсь.
Но я уже нашел решение - надо было всего лишь AND поставить.
Хотя, может есть какое то более правильное решение по выводу данных из трёх таблиц. | |
|
|
|
|
|
|
|
для: davidoff_72
(12.08.2015 в 03:02)
| | при чем тут грех и AND?
Я лишь ответил на ваш вопрос.
Какое именно "не так" порождает указанную диагностику - отсутствие проверки значения, возвращаемого mysql_query() . | |
|
|
|
|
|
|
|
для: davidoff_72
(12.08.2015 в 03:02)
| | Чтобы найти более правильное решение, надо знать структуру трех таблиц и что вам надо вытягивать.
Я бы использовала соединение таблиц через LEFT JOIN, RIGHT JOIN, INNER JOIN...
И да, вам дали правильный совет, тело запроса лучше писать отдельно и обрабатывать результат mysql_query() отдельно, так намного быстрее ошибку найти, чем гадать на кофейной гуще:
$sql = ".......";
$result = mysql_query($sql)
or die(mysql_error());
|
| |
|
|
|
|
|
|
|
для: Лена
(17.08.2015 в 14:40)
| | спасибо. так и приблезительно сделал:
$qwerty = mysql_query("SELECT * FROM `firm`
JOIN `vakans` ON firm.id_firm=vakans.id_firm
JOIN `dolzgnost` ON vakans.id_dol=dolzgnost.id_dol
WHERE firm.id_firm = '$id_firm'") or die(mysql_error());
|
таблица: firm
id_firm (primiry key) 1
name_firm Бианка
таблица: vakans
id_vak (primiry key) 1 2
text какой то коментарий
id_firm (forign key) 1 1
id_dol (forign key) 2 3
(две записи в таблице vakans привязанные к фирме бианка в таблице firm - id_firm)
(две записи в таблице vakans привязанные к фирме бианка в таблице dolzgnost - id_dol)
таблица - dolzgnost
id_dol (primiry key) - 1 2
name_dol менеджер директор
(менеджер id = 1, директор id = 2)
Надо вывести на одну страницу данные по фирме бианка и привезанные к ней должности: менеджер, директор.
Приблизительно должно выглядить так на странице:
Фирма - Бианка
Вакансии:
менеджер
директор
ТО есть на страницу надо вывести название фирмы бианка (таблица firm ), две вакансии (таблица vakans) и должности относящиеся к каждой вакансии (таблица dolzgnost) | |
|
|
|