Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вытянуть данные из двух связанных таблиц
 
 автор: davidoff_72   (14.08.2015 в 10:01)   письмо автору
 
 

таблица: firm
id_firm (primiry key) 1
name_firm Бианка
koment хорошая фирма

Есть запись в базе в двух связанных таблицах:

таблица: vakans
id_vak (primiry key) 1 2
text менеджер директор
id_firm (forign key) 1 1
(две записи в таблице vakans привязанные к фирме бианка в таблице firm )

Надо вывести на одну страницу данные по фирме бианка и привезанные к ней должности: менеджер, директор.

Приблизительно должно выглядить так на странице:
Фирма - Бианка
Коментарий - хорошая фирма
Вакансии: менеджер, директор

Не понимаю как делать SELECT. КАК это сделать ? Спасибо

  Ответить  
 
 автор: davidoff_72   (16.08.2015 в 17:01)   письмо автору
 
   для: davidoff_72   (14.08.2015 в 10:01)
 

напрагромировал, но не выходит. и ошибки не выдает.

в чём проблема? помогите

  
фаил 1
<?php
$query 
mysql_query('SELECT * FROM firm');
while(
$res mysql_fetch_array($query))
{
    echo 
"<a href='firm1.php?id=".$res[id_firm]."'>".$res[name_firm]."</a><br>";
}
?>
 
фаил 2
<?php
$id_firm 
$_GET['id'];
 
 
$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 `name_firm` = '
$id_firm'");                   
                        
 
while(
$res mysql_fetch_assoc($qwerty))
{
    echo 
"$res[name_firm]";
    echo 
"$res[koment]<br>";
    echo 
"$res[name_dol]<br>";
}  
 
?>

в данном случае не ругается а просто ничего не выдает. хотя в get попадает значение id где то в select ошибка.
у меня сомнения - name_firm - строковое значение а $id_firm - цифровое - можно ли присваивать одно другому?

  Ответить  
 
 автор: Igorek   (16.08.2015 в 20:49)   письмо автору
 
   для: davidoff_72   (16.08.2015 в 17:01)
 

> у меня сомнения - name_firm - строковое значение а $id_firm - цифровое - можно ли присваивать одно другому?
может все-таки речь идет о сравнении?

и да, вы сравниваете, грубо говоря, круглое с мягким - название фирмы с её численным идентификатором. Результат соответствующий

  Ответить  
 
 автор: davidoff_72   (16.08.2015 в 21:13)   письмо автору
 
   для: Igorek   (16.08.2015 в 20:49)
 

спасибо. уже разобрался. вот -
$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());    


теперь бьюсь написать if чтоб если вакансий нету (vakans) то появлялась надпись "ничего нет" а не вылазила уродливая пустая таблица.

  Ответить  
 
 автор: Igorek   (16.08.2015 в 21:39)   письмо автору
 
   для: davidoff_72   (16.08.2015 в 21:13)
 

mysql_num_rows

  Ответить  
 
 автор: davidoff_72   (17.08.2015 в 01:09)   письмо автору
 
   для: Igorek   (16.08.2015 в 21:39)
 

не могу понять как мне это может помочь в данном случае....

  Ответить  
 
 автор: Igorek   (17.08.2015 в 05:21)   письмо автору
 
   для: davidoff_72   (17.08.2015 в 01:09)
 

mysql_num_rows возвращает кол-во рядов в результате запроса
> если вакансий нету (vakans) то появлялась надпись "ничего нет"
связать два этих тезиса в условие вряд ли составит большого труда

  Ответить  
 
 автор: davidoff_72   (17.08.2015 в 23:01)   письмо автору
 
   для: Igorek   (17.08.2015 в 05:21)
 

начинаю медитацию....

$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());


если в этом селекте id_dol пустой , то надо чтоб на страницу ничего не выводило кроме "ничего нет"...

погрузился в раздумья

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования