Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как связать две таблицы между собой, для дальнейшего вывода данных на страницу?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Korsand
Отправлено: 04 Апреля, 2013 - 18:12:38
Post Id



Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Февр. 2013  
Откуда: UA Donbass


Помог: 0 раз(а)




Всем привет. Как всегда нужна помощь.

Имеется две таблицы. Первая - “country”, она статическая, записи не обновляются и новые не вносятся, содержит телефонный код страны и название страны: id | country_code | country_name
Вторая таблица -“info_1”, постоянно пополняется новыми записями из вне, и в дальнейшем, записи выводиться на станицу. Содержание: id | name | phone | country_code | address

Проблема заключается в следующем: на данный момент, выводиться всё содержимое таблицы “info_1”, в том числе и код страны, а хочется что бы выводилось вместо кода страны – её название, которого нет в данной таблице, но есть в таблице “country”. Т.е., нужно как-то связать эти две таблицы, но как именно - я не знаю.
Вот мой код на вытягивание записей:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.     $bd = mysql_connect('localhost','proba','000');
  3.     mysql_select_db('proba',$bd);
  4.     mysql_query("SET names UTF8");
  5.  
  6.     $sql=mysql_query("SELECT * FROM `info_1` ORDER BY `id` DESC LIMIT 50");
  7.     while($row=mysql_fetch_array($sql)){
  8.         $name = $row['name'];
  9.         $country_code = $row['country_code'];
  10.         $phone = $row['phone'];
  11.         $address = empty($row['address']) ? 'Адрес не известен...' : $row['address'];
  12.     ?>  
  13.         <div class="name"><?PHP echo $name; ?></div>
  14.         <div class="country_code"><?PHP echo $country_code; ?></div>
  15.         <div class="phone"><?PHP echo $phone; ?></div>
  16.         <div class="address"><?PHP echo $address; ?></div>
  17. <?PHP }?>

Может подскажите, где чего исправить, дописать. Заранее благодарен!
 
 Top
biperch
Отправлено: 04 Апреля, 2013 - 18:27:18
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 588
Дата рег-ции: Окт. 2009  
Откуда: Днепропетровск


Помог: 8 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT i.*, c.country_name FROM info_1 i
  2. LEFT JOIN country c ON c.country_code=i.country_code
  3. ORDER BY i.id DESC LIMIT 50

(Отредактировано автором: 04 Апреля, 2013 - 18:27:51)

 
 Top
Korsand
Отправлено: 04 Апреля, 2013 - 19:36:12
Post Id



Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Февр. 2013  
Откуда: UA Donbass


Помог: 0 раз(а)




biperch, большое спасибо! Работает
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB