9 / 9 / 0
Регистрация: 08.04.2013
Сообщений: 124
|
|||||||||||
1 | |||||||||||
Имя в сообщениях26.05.2013, 12:53. Показов 1205. Ответов 17
Метки нет (Все метки)
Всем привет
подскажите как сделать чтобы в сообщениях писалось имя а не логин это php самих сообщений
0
|
26.05.2013, 12:53 | |
Ответы с готовыми решениями:
17
Как в билдере получить с сервера (MySQL 5.1, имя базы "skola", имя table "info") имя столбцов и имя строк Дано полное имя файла, т.е путь к файлу, имя и расширение. Выделить из строки только имя первого католога Не понятно в сообщениях Иконки в сообщениях |
12 / 12 / 1
Регистрация: 22.05.2013
Сообщений: 82
|
|
26.05.2013, 23:35 | 2 |
$sel2['name'] - это что такое
0
|
9 / 9 / 0
Регистрация: 08.04.2013
Сообщений: 124
|
|
26.05.2013, 23:36 [ТС] | 3 |
это я пытался сделать там $res["login"]
0
|
65 / 65 / 18
Регистрация: 10.03.2013
Сообщений: 188
|
|
26.05.2013, 23:41 | 4 |
просто у вас в таблице нет колонки `login`
А если создадите, то обращатся к ней $res['login']
0
|
9 / 9 / 0
Регистрация: 08.04.2013
Сообщений: 124
|
||||||
26.05.2013, 23:43 [ТС] | 5 | |||||
логин берется из таблици users
0
|
65 / 65 / 18
Регистрация: 10.03.2013
Сообщений: 188
|
|
26.05.2013, 23:44 | 6 |
В вашем запросе обращение идет к таблице `messages`
0
|
9 / 9 / 0
Регистрация: 08.04.2013
Сообщений: 124
|
|
26.05.2013, 23:49 [ТС] | 7 |
несовсем понимаю
логин у меня отображается нормально как я понимаю в таблице messages надо сделать name и lastname ?? или нет так понял?
0
|
65 / 65 / 18
Регистрация: 10.03.2013
Сообщений: 188
|
||||||
26.05.2013, 23:56 | 9 | |||||
Точно не уверен, но может запрос нужно сделать так
0
|
9 / 9 / 0
Регистрация: 08.04.2013
Сообщений: 124
|
||||||
27.05.2013, 00:03 [ТС] | 10 | |||||
что то типо этого?
всегда путаюсь с joinами Добавлено через 15 секунд сима щас попробую Добавлено через 5 минут Сима частично подошло у меня это входящие сообщения и на всех сообщения входящих мое имя а не имя отправителя
0
|
65 / 65 / 18
Регистрация: 10.03.2013
Сообщений: 188
|
||||||
27.05.2013, 00:22 | 11 | |||||
Не факт но может
0
|
9 / 9 / 0
Регистрация: 08.04.2013
Сообщений: 124
|
|
27.05.2013, 00:37 [ТС] | 12 |
где-то недочет
пишет в поле (имя отправителя) все имена из таблицы users а в (сообщении) пишет последние сообщение
0
|
9 / 9 / 0
Регистрация: 08.04.2013
Сообщений: 124
|
|
28.05.2013, 21:07 [ТС] | 13 |
Sima175, есть еще варианты???
0
|
65 / 65 / 18
Регистрация: 10.03.2013
Сообщений: 188
|
||||||
28.05.2013, 22:06 | 14 | |||||
1
|
9 / 9 / 0
Регистрация: 08.04.2013
Сообщений: 124
|
|
28.05.2013, 22:14 [ТС] | 15 |
Sima175, пишет логин получателя а не отправителя
что-то где то не то что еще можно???
0
|
Почетный модератор
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
|
||||||||||||||||
28.05.2013, 22:59 | 16 | |||||||||||||||
вообще, такой код нежелателен - т.к. не указана таблица (и, по идее, должен выдавать ошибку запроса).
А какое должно быть еще? Зачем в условии author_id, если тебе необходимо проверять получателя, а не отправителя? Если я конечно правильно понял. Кликните здесь для просмотра всего текста
В общем виде простые джойны можно "объяснить" как-то так
Если непонятна такая запись с алиасами, можно использовать ключевое слово AS
Также, при использовании LEFT JOIN берутся данные из первой таблицы, RIGHT JOIN - из второй таблицы. LEFT/RIGHT JOIN - это, на самом деле LEFT/RIGHT OUTER JOIN, просто слово OUTER можно опустить. OUTER - это внешнее объединение. Т.е., LEFT JOIN-запрос вернет записи из первой таблицы, а также записи из второй таблицы, которые соответствуют условию в ON (или USING). RIGHT JOIN - обратное действие (т.е., можно сказать, что мы поменяли местами таблицы в FROM и JOIN). Наглядно: SQL mysql> USE `test`; Reading TABLE information FOR completion OF TABLE AND COLUMN names You can turn off this feature TO GET a quicker startup WITH -A DATABASE changed mysql> SHOW TABLES; +----------------+ | Tables_in_test | +----------------+ | FIRST | | SECOND | +----------------+ 2 ROWS IN SET (0.00 sec) mysql> SHOW COLUMNS FROM `first`; +----------+--------------+------+-----+---------+----------------+ | FIELD | TYPE | NULL | KEY | DEFAULT | Extra | +----------+--------------+------+-----+---------+----------------+ | first_id | INT(11) | NO | PRI | NULL | AUTO_INCREMENT | | f_1 | VARCHAR(255) | NO | | NULL | | | f_2 | VARCHAR(255) | NO | | NULL | | +----------+--------------+------+-----+---------+----------------+ 3 ROWS IN SET (0.01 sec) mysql> SHOW COLUMNS FROM `second`; +------------+--------------+------+-----+---------+----------------+ | FIELD | TYPE | NULL | KEY | DEFAULT | Extra | +------------+--------------+------+-----+---------+----------------+ | second_id | INT(11) | NO | PRI | NULL | AUTO_INCREMENT | | some_value | VARCHAR(255) | NO | | NULL | | | first_id | INT(10) | NO | MUL | 0 | | +------------+--------------+------+-----+---------+----------------+ 3 ROWS IN SET (0.00 sec) mysql> SELECT * FROM `first`; +----------+------------------------------+------------------------------+ | first_id | f_1 | f_2 | +----------+------------------------------+------------------------------+ | 1 | TABLE FIRST record 1 FIELD 1 | TABLE FIRST record 1 FIELD 2 | | 2 | TABLE FIRST record 2 FIELD 1 | TABLE FIRST record 2 FIELD 2 | | 3 | TABLE FIRST record 3 FIELD 1 | TABLE FIRST record 3 FIELD 2 | | 4 | TABLE FIRST record 4 FIELD 1 | TABLE FIRST record 4 FIELD 2 | | 5 | TABLE FIRST record 5 FIELD 1 | TABLE FIRST record 5 FIELD 2 | +----------+------------------------------+------------------------------+ 5 ROWS IN SET (0.00 sec) mysql> SELECT * FROM `second`; +-----------+-----------------------+----------+ | second_id | some_value | first_id | +-----------+-----------------------+----------+ | 1 | TABLE SECOND record 1 | 2 | | 2 | TABLE SECOND record 2 | 1 | | 3 | TABLE SECOND record 3 | 0 | | 4 | TABLE SECOND record 4 | 3 | | 5 | TABLE SECOND record 5 | 1 | +-----------+-----------------------+----------+ 5 ROWS IN SET (0.00 sec) SQL mysql> SELECT * FROM `first` LEFT JOIN `second` ON `first`.`first_id` = `second`.`first_id` WHERE `first`.`first_id` >= 2; +----------+------------------------------+------------------------------+-----------+-----------------------+----------+ | first_id | f_1 | f_2 | second_id | some_value | first_id | +----------+------------------------------+------------------------------+-----------+-----------------------+----------+ | 2 | TABLE FIRST record 2 FIELD 1 | TABLE FIRST record 2 FIELD 2 | 1 | TABLE SECOND record 1 | 2 | | 3 | TABLE FIRST record 3 FIELD 1 | TABLE FIRST record 3 FIELD 2 | 4 | TABLE SECOND record 4 | 3 | | 4 | TABLE FIRST record 4 FIELD 1 | TABLE FIRST record 4 FIELD 2 | NULL | NULL | NULL | | 5 | TABLE FIRST record 5 FIELD 1 | TABLE FIRST record 5 FIELD 2 | NULL | NULL | NULL | +----------+------------------------------+------------------------------+-----------+-----------------------+----------+ 4 ROWS IN SET (0.00 sec) SQL mysql> SELECT * FROM `first` RIGHT JOIN `second` ON `first`.`first_id` = `second`.`first_id` WHERE `first`.`first_id` >= 2; +----------+------------------------------+------------------------------+-----------+-----------------------+----------+ | first_id | f_1 | f_2 | second_id | some_value | first_id | +----------+------------------------------+------------------------------+-----------+-----------------------+----------+ | 2 | TABLE FIRST record 2 FIELD 1 | TABLE FIRST record 2 FIELD 2 | 1 | TABLE SECOND record 1 | 2 | | 3 | TABLE FIRST record 3 FIELD 1 | TABLE FIRST record 3 FIELD 2 | 4 | TABLE SECOND record 4 | 3 | +----------+------------------------------+------------------------------+-----------+-----------------------+----------+ 2 ROWS IN SET (0.00 sec) А теперь тоже самое, но с "обратным" порядком SQL mysql> SELECT * FROM `second` LEFT JOIN `first` ON `first`.`first_id` = `second`.`first_id` WHERE `first`.`first_id` >= 2; +-----------+-----------------------+----------+----------+------------------------------+------------------------------+ | second_id | some_value | first_id | first_id | f_1 | f_2 | +-----------+-----------------------+----------+----------+------------------------------+------------------------------+ | 1 | TABLE SECOND record 1 | 2 | 2 | TABLE FIRST record 2 FIELD 1 | TABLE FIRST record 2 FIELD 2 | | 4 | TABLE SECOND record 4 | 3 | 3 | TABLE FIRST record 3 FIELD 1 | TABLE FIRST record 3 FIELD 2 | +-----------+-----------------------+----------+----------+------------------------------+------------------------------+ 2 ROWS IN SET (0.00 sec) mysql> SELECT * FROM `second` RIGHT JOIN `first` ON `first`.`first_id` = `second`.`first_id` WHERE `first`.`first_id` >= 2; +-----------+-----------------------+----------+----------+------------------------------+------------------------------+ | second_id | some_value | first_id | first_id | f_1 | f_2 | +-----------+-----------------------+----------+----------+------------------------------+------------------------------+ | 1 | TABLE SECOND record 1 | 2 | 2 | TABLE FIRST record 2 FIELD 1 | TABLE FIRST record 2 FIELD 2 | | 4 | TABLE SECOND record 4 | 3 | 3 | TABLE FIRST record 3 FIELD 1 | TABLE FIRST record 3 FIELD 2 | | NULL | NULL | NULL | 4 | TABLE FIRST record 4 FIELD 1 | TABLE FIRST record 4 FIELD 2 | | NULL | NULL | NULL | 5 | TABLE FIRST record 5 FIELD 1 | TABLE FIRST record 5 FIELD 2 | +-----------+-----------------------+----------+----------+------------------------------+------------------------------+ 4 ROWS IN SET (0.00 sec) Словами можно объяснить LEFT/RIGHT JOIN как-то так: "выбрать все из первой/второй таблицы, и, если это условие выполняется и для второй/первой таблицы - то подцепить данные и оттуда". А вот INNER JOIN, в отличии от них, "суров"
Вроде не ошибся нигде, если что, поправят, думаю..
2
|
65 / 65 / 18
Регистрация: 10.03.2013
Сообщений: 188
|
||||||
28.05.2013, 23:17 | 17 | |||||
Добавлено через 1 минуту KOPOJI, Поправьте если не верно
0
|
9 / 9 / 0
Регистрация: 08.04.2013
Сообщений: 124
|
||||||
28.05.2013, 23:25 [ТС] | 18 | |||||
Sima175, спасибо большое ты написал до этого верно все, там немного иправить надо было
KOPOJI, дал наводку как надо все получилось вот так
0
|
28.05.2013, 23:25 | |
28.05.2013, 23:25 | |
Помогаю со студенческими работами здесь
18
Кнопки В Почтовых Сообщениях Цензура в сообщениях (PHP) Оповещалка о новых сообщениях Оповещение о новых сообщениях Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |