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
Форумы портала PHP.SU :: Версия для печати :: Как связать две таблицы между собой, для дальнейшего вывода данных на страницу?
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Как связать две таблицы между собой, для дальнейшего вывода данных на страницу?

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

1. Korsand - 04 Апреля, 2013 - 18:12:38 - перейти к сообщению
Всем привет. Как всегда нужна помощь.

Имеется две таблицы. Первая - “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 }?>

Может подскажите, где чего исправить, дописать. Заранее благодарен!
2. biperch - 04 Апреля, 2013 - 18:27:18 - перейти к сообщению
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
3. Korsand - 04 Апреля, 2013 - 19:36:12 - перейти к сообщению
biperch, большое спасибо! Работает

 

Powered by ExBB FM 1.0 RC1