Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
1 / 1 / 0
Регистрация: 18.12.2011
Сообщений: 57

SELECT из двух таблиц

09.03.2014, 15:33. Показов 2002. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вопрос такой - есть страница на которой выводятся все сообщения между 2 пользователями. Сообщения между мной и собеседником вывожу таким запросом
PHP
1
$result = $mysqli->query("SELECT *FROM `messages` WHERE `user_send`='$MY_ID' and `user_get`='$MY_FRIEND_ID' ");
, дальше вывожу значение поля text через while.

При таком запросе я получаю лишь сами сообщения между 2 конкретными пользователями, но как теперь вывести имена пользователей от которых пришло сообщение ?

Таблица users
id || login || password || avatar

Таблица messages
id || user_send || user_get || text

user_send и user_get - это id из таблицы users

Полный код вывода сообщений
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<div id="messages" >
    <?
    $result = $mysqli->query("SELECT *FROM `messages` WHERE `user_send`='$MY_ID' and `user_get`='$MY_FRIEND_ID' ");
    while( $data = $result->fetch_assoc() ){
    $text = $data['text'];
    $user_send = $data['user_send'];
    $user_get = $data['user_get'];
    $date = $date['date'];
    ?>  
    <div class="msg">
        <div class="user"><img class="user_img" src="' тут должен быть путь к аватару '" /></div>
        <div class="info">
        <div class="name"><a href="#"> Тут должен быть логин пользователя, которому принадлежит сообщение </a></div>
        <div class="text"><?=$text;?></div>
        </div>
        </div>
    <?}?>  
    </div>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.03.2014, 15:33
Ответы с готовыми решениями:

SELECT из двух таблиц
Всем привет! пытаюсь реализовать немудреный запрос: SELECT * FROM wp_posts_us, wp_posts_job но в результате выходит полная муть....

SELECT из 2х таблиц
Объеденить таблици. Допустим нужно мне выбрать из 2х таблиц все записи где один и тот же автор. Пробывал JOIN'ами select *...

Суммирование данных из двух таблиц таблиц
И так сумма складывается и выводится значение итого, так происходит для двух таблиц. теперь нужно два значения итого сложить друг с другом...

7
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
09.03.2014, 15:41
SQL
1
SELECT * FROM `table1` JOIN `table2` ON `table1`.`some_parameter`=`table2`.`some_parameter` WHERE ... и т.д.
2
 Аватар для iUser
450 / 30 / 1
Регистрация: 07.01.2014
Сообщений: 124
09.03.2014, 15:54
Используйте оператор JOIN, например:
SQL
1
SELECT DISTINCT users.login FROM users JOIN messages ON users.id = messages.user_send
выдаст список всех пользователей, отправлявших сообщения

Добавлено через 5 минут
SQL
1
SELECT DISTINCT users.login FROM users JOIN messages ON users.id = messages.user_send AND messages.text LIKE '%RageXL%'
так узнаете имена всех кто Вас обсуждает
0
1 / 1 / 0
Регистрация: 18.12.2011
Сообщений: 57
09.03.2014, 16:25  [ТС]
MySQL
1
SELECT DISTINCT users.login FROM users JOIN messages ON users.id = messages.user_send AND messages.text LIKE '%RageXL%'
Странно, при таком запросе выводит у всех сообщений одного и того же автора.
0
 Аватар для iUser
450 / 30 / 1
Регистрация: 07.01.2014
Сообщений: 124
09.03.2014, 16:36
В этом запросе Вы ищите в таблице пользователей логины всех пользователей (без дубликатов), идентификаторы которых совпадают с user_send в таблице сообщений и текст сообщения при этом содержит фразу RageXL.
Читайте справку по использованию оператора JOIN, экспериментируйте с параметрами запроса и все у Вас получится.

Добавлено через 2 минуты
Dmitry расписал Вам структуру команды.
0
1 / 1 / 0
Регистрация: 18.12.2011
Сообщений: 57
09.03.2014, 18:03  [ТС]
при этом содержит фразу RageXL

Немного не понятен этот момент.
0
 Аватар для iUser
450 / 30 / 1
Регистрация: 07.01.2014
Сообщений: 124
09.03.2014, 18:28
Цитата Сообщение от RageXL Посмотреть сообщение
Немного не понятен этот момент
Это просто пример.

Добавлено через 16 минут
Цитата Сообщение от RageXL Посмотреть сообщение
как теперь вывести имена пользователей от которых пришло сообщение
Написал Вам 2 примера кода с привязкой к Вашим таблицам:
1 - выведет имена пользователей, ВСЕХ, кто когда-либо отправил хотя бы одно сообщение.
2 - выведет имена пользователей, уже не всех, а с ограничением по содержимому. Можете другое ограничение поставить, не обязательно по тексту - по получателю, идентификатору, паролю, аватару... что там еще в Вашей базе есть.
Если это не понятно, Dmitry описал структуру команды безотносительно Ваших таблиц.

Не по теме:

Яндекс Вам в помощь.



Добавлено через 6 минут
PHP не владею, в базах данных тоже не силен, поэтому готовую программу сделать Вам не могу, только возможный (один из многих) путь решения указать.
1
1 / 1 / 0
Регистрация: 18.12.2011
Сообщений: 57
09.03.2014, 21:51  [ТС]
Всем большое спасибо за помощь уже разобрался .
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.03.2014, 21:51
Помогаю со студенческими работами здесь

INSERT . SELECT из 2 таблиц
Здравствуйте, у меня есть 2 таблицы с данными: T1 и T2 и одна итоговая: Itog. Мне нужно, чтобы из таблиц T1 и T2 ОДНИМ запросом...

PHP+MySQL Вывод из двух таблиц при двух условиях
Есть две таблицы. users: содержит id, foto, usermessages: содержит fromid Нужно выбрать те фотки которые не равны $nofoto и к...

Как использовать 1 select для 2-х таблиц?
Всем привет! Есть 1 код select. Потом я добавил ещё 1 код select, но 2-ой не работает. Код 2-ого анологичен 1-ой. Поэтому решил...

Сложный запрос SELECT с объеденением трех таблиц
Привет всем! В MySql есть три таблицы: table_users (user_id, user_name, user_family, user_phone, user_cab) table_device...

SELECT из нескольких таблиц меняет значения некоторых полей
Доброго времени суток, господа! На скрине запрос к базе с выборкой из нескольких таблиц. Вопрос: почему в первой и второй строке...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru