Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.08.2013, 10:21   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
Сообщение Вывести данные из двух таблиц

Помогите, пожалуйста, вывести данные из двух таблиц при помощи php.

Есть таблица А table1
UID user_name
1 User 1
2 User 2
3 User 3
4 User 4
5 User 5
6 User 6
7 User 7
есть таблица Б table2
UID user_from user_to
1 1 2
2 2 1
3 3 4
4 4 3
5 5 6
6 6 5
7 1 6
В конечном итоге нужно вывести содержимое таблицы Б, но вместо цифр в user_from и user_to подставить имена из таблицы А, которые соответствуют этим цифрам.
Вот начало
PHP код:
<?php
$sdd_db_host 
'localhost'// Ваш адрес, где находится, хостится ваша база данных
$sdd_db_name 'test'// Имя базы данных, с которой вы хотите работать, так как их может быть множество
$sdd_db_user 'root'// Логин доступ к базе данных
$sdd_db_pass 'password'// Пароль доступа к базе данных
@mysql_connect($sdd_db_host$sdd_db_user$sdd_db_pass); // Устанавливаем связь с сервером
@mysql_select_db($sdd_db_name); // Переключаемся на нужную нам базу данных
??? // Получение данных из таблиц с заменой цифр на имена
??? // Выводим данные
?>

Последний раз редактировалось Shouldercannon; 28.08.2013 в 10:45.
Shouldercannon вне форума Ответить с цитированием
Старый 28.08.2013, 12:42   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

PHP код:
$query "SELECT `t1`.`user_name` AS `user_from`, `t3`.`user_name` AS `user_to` 
            FROM `table2` AS `t2`
            JOIN `table1` AS `t1` ON `t1`.`uid` = `t2`.`user_from`
            JOIN `table1` AS `t3` ON `t3`.`uid` = `t2`.`user_to`"
;
$results mysql_query($query) or die('Query: ' $query '<br/>Error: ' mysql_error());
while(
$row mysql_fetch_assoc($results)){
    echo 
'From ' $row['user_from'] . ' to ' $row['user_to'] . '<br/>';

Вывод:
Код:
From User 1 to User 2
From User 2 to User 1
From User 3 to User 4
From User 4 to User 3
From User 5 to User 6
From User 6 to User 5
From User 1 to User 6
Andkorol вне форума Ответить с цитированием
Старый 28.08.2013, 18:43   #3
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

Как быть, если в обеих таблицах справа есть ещё колонки и нужно вывести из таблицы Б все значения с заменой цифр в user_from и user_to на user_name из таблицы А?
Shouldercannon вне форума Ответить с цитированием
Старый 28.08.2013, 18:51   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Shouldercannon Посмотреть сообщение
Как быть, если в обеих таблицах справа есть ещё колонки и нужно вывести из таблицы Б все значения с заменой цифр в user_from и user_to на user_name из таблицы А?
Перечислить нужные поля в запросе:
Код:
SELECT `t1`.`user_name` AS `user_from`, `t3`.`user_name` AS `user_to`, `t1`.`column1`, `t1`.`column2`, ..., `t2`.`column1`, `t2`.`column2`
Andkorol вне форума Ответить с цитированием
Старый 27.10.2013, 09:41   #5
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

Помогите, пожалуйста объеденить два запроса в один
PHP код:
$query "SELECT `t1`.`user_name` AS `user_from`, `t3`.`user_name` AS `user_to`  
            FROM `table2` AS `t2` 
            JOIN `table1` AS `t1` ON `t1`.`uid` = `t2`.`user_from` 
            JOIN `table1` AS `t3` ON `t3`.`uid` = `t2`.`user_to`"

и
PHP код:
$query '(SELECT * FROM `table2` ORDER BY `UID` DESC LIMIT 40) ORDER BY `UID` ASC;'

Последний раз редактировалось Shouldercannon; 27.10.2013 в 20:44.
Shouldercannon вне форума Ответить с цитированием
Старый 27.10.2013, 13:08   #6
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

Так же, left join
ADSoft вне форума Ответить с цитированием
Старый 27.10.2013, 16:15   #7
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
Так же, left join
Всё равно не соображу. Можете показать как?
P.S. В web-программировании не силён.
Shouldercannon вне форума Ответить с цитированием
Старый 27.10.2013, 21:14   #8
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

а кашку не пожевать? (с)
ADSoft вне форума Ответить с цитированием
Старый 28.10.2013, 13:53   #9
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
а кашку не пожевать? (с)
Прям так сложно было и надо было стебаться.
PHP код:
$query "SELECT `t1`.`user_name` AS `user_from`, `t3`.`user_name` AS `user_to`  
            FROM `table2` AS `t2` 
            JOIN `table1` AS `t1` ON `t1`.`uid` = `t2`.`user_from` 
            JOIN `table1` AS `t3` ON `t3`.`uid` = `t2`.`user_to`
            ORDER BY `uid` DESC LIMIT 40"

Shouldercannon вне форума Ответить с цитированием
Старый 28.10.2013, 15:43   #10
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

Результат полученный самостоятельно с подсказкой гораздо ценнее готового решения. Так вы хоть подумали....
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Данные из двух таблиц в одну reihtmonbern БД в Delphi 1 15.01.2013 23:25
Вытянуть данные из двух таблиц nikleb SQL, базы данных 1 03.05.2011 00:56
Отличающиеся данные из двух таблиц Ma4balaka SQL, базы данных 12 09.11.2010 16:58
Связать данные двух таблиц ZhK Microsoft Office Excel 5 03.09.2009 12:23
Помогите связать данные двух таблиц ZhK Microsoft Office Excel 47 27.08.2009 13:22