У меня тема и комментарии находяться на разных таблицах. Как мне отсортировать темы, по датам комментариев, и чтобы темы оказались наверху, если их прокомментировать.
P.S. Сортирую по дате
Спустя 33 минуты, 45 секунд (2.12.2011 - 14:08) Invis1ble написал(а):
... ORDER BY `comments`.`commented_at` DESC
Спустя 1 минута, 3 секунды (2.12.2011 - 14:09) Ramzil_Nixon написал(а):
Балогодорю Лови +, позже поэкперементирую
Спустя 3 минуты, 48 секунд (2.12.2011 - 14:13) Ramzil_Nixon написал(а):
`comments`.`commented_at`
А это comments это таблица, commented_at столбец даты?
Спустя 45 секунд (2.12.2011 - 14:14) TMake написал(а):
Цитата (Ramzil_Nixon @ 2.12.2011 - 15:13) |
А это comments это таблица, commented_at столбец даты? |
да
Спустя 52 секунды (2.12.2011 - 14:15) Ramzil_Nixon написал(а):
Ясно, спасибо
Спустя 7 часов, 2 минуты, 41 секунда (2.12.2011 - 21:18) Ramzil_Nixon написал(а):
Указанный способ у меня не работает, ругается что нет такого столбца
Спустя 6 минут, 11 секунд (2.12.2011 - 21:24) Invis1ble написал(а):
Запрос в студию и текст ошибки
Спустя 9 минут, 47 секунд (2.12.2011 - 21:34) Placido написал(а):
Так для того чтобы сортировать по полю таблицы, сначала нужно его создать. ;) Добавь поле в таблицу
ALTER TABLE `имя таблицы` ADD COLUMN `commented_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Спустя 46 секунд (2.12.2011 - 21:34) Invis1ble написал(а):
Я думаю, он просто не присоединил таблицу comments в запросе
Спустя 12 минут, 6 секунд (2.12.2011 - 21:46) Ramzil_Nixon написал(а):
Unknown column 'comment_topik_table' in 'order clause'
с телефона в данный момент сижу, запрос скинуть не могу
с телефона в данный момент сижу, запрос скинуть не могу
Спустя 48 секунд (2.12.2011 - 21:47) Invis1ble написал(а):
ну без запроса ничего тут не скажешь
Спустя 1 минута, 59 секунд (2.12.2011 - 21:49) Ramzil_Nixon написал(а):
Собрал я этот запрос, но сеть прервалась. щас попробую еще раз
Спустя 19 минут, 24 секунды (2.12.2011 - 22:09) Ramzil_Nixon написал(а):
SELECT * FROM 'forum_topik_table' WHERE 'for_kategory' = '".$_GET['topiks']."' ORDER BY 'comment_topik_table'.'data' DESC
Спустя 3 минуты, 50 секунд (2.12.2011 - 22:12) Invis1ble написал(а):
ты ж говорил, что поле даты находится в таблице комментов. Откуда оно по-твоему в топиках возьмется? Сразу видно - про JOIN так и не прочел.
Спустя 4 минуты, 39 секунд (2.12.2011 - 22:17) Ramzil_Nixon написал(а):
прочел немного. с помощью ALTER'а у меня эти таблицы соединены
Спустя 56 секунд (2.12.2011 - 22:18) Invis1ble написал(а):
вобщем, показывай дамп и запрос.
Спустя 2 минуты, 52 секунды (2.12.2011 - 22:21) Ramzil_Nixon написал(а):
Где то через час. с телефона щас
Спустя 1 день, 12 часов, 37 минут, 39 секунд (4.12.2011 - 10:59) Ramzil_Nixon написал(а):
Вот так связываю:
ALTER TABLE `forum_for_kategory` ADD INDEX ( `id_kategory` );
ALTER TABLE `forum_for_kategory` ADD CONSTRAINT `tree_fk_1` FOREIGN KEY (`id_kategory`) REFERENCES `forum_kategory_table` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
Спустя 17 минут, 35 секунд (4.12.2011 - 11:16) Placido написал(а):
Это ты добавил внешний ключ. Покажи, как ты создавал обе таблицы (CREATE TABLE и т.д.).
Спустя 6 минут, 24 секунды (4.12.2011 - 11:23) Ramzil_Nixon написал(а):
--
-- Структура таблицы `forum_kategory_table`
--
CREATE TABLE IF NOT EXISTS `forum_kategory_table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name_forum_kategory` varchar(255) NOT NULL,
`position_forum_kategory` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
--
-- Дамп данных таблицы `forum_kategory_table`
--
INSERT INTO `forum_kategory_table` (`id`, `name_forum_kategory`, `position_forum_kategory`) VALUES
(1, 'Первая категория форума', 1);
--
-- Структура таблицы `forum_for_kategory`
--
CREATE TABLE IF NOT EXISTS `forum_for_kategory` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name_for_kategory` varchar(255) NOT NULL,
`position` int(11) NOT NULL,
`id_kategory` int(11) NOT NULL,
`description` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
KEY `id_kategory` (`id_kategory`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
--
-- Дамп данных таблицы `forum_for_kategory`
--
INSERT INTO `forum_for_kategory` (`id`, `name_for_kategory`, `position`, `id_kategory`, `description`) VALUES
(4, 'имя', 123, 1, 'дескрипшин');
--
-- Ограничения внешнего ключа сохраненных таблиц
--
Это не те запросы, щас нужные выложу
Спустя 1 день, 36 минут (5.12.2011 - 11:59) Ramzil_Nixon написал(а):
--
-- Топики форума
--
CREATE TABLE `lianka`.`topik_forum` (
`id` INT NOT NULL AUTO_INCREMENT ,
`name` VARCHAR( 255 ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL ,
`id_for` INT NOT NULL ,
`description` VARCHAR( 500 ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL ,
`text` TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL ,
`data` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
`avtor` INT NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = INNODB;
--
-- Пробные топики
--
INSERT INTO `topik_forum` SET `name` = 'Пробная тема', `id_for` = '1', `description` = 'Описание темы, тут краткое описаниее обшего что происходит в теме', `text` = 'Ну а тут собственно и текст всего, Рассуждение, обсуждение, короче полный текст', `avtor` = 'Ramzil_Nixon';
INSERT INTO `topik_forum` SET `name` = 'Пробная тема №2', `id_for` = '1', `description` = 'Описание темы, тут краткое описаниее обшего что происходит в теме', `text` = 'Ну а тут собственно и текст всего, Рассуждение, обсуждение, короче полный текст', `avtor` = 'Ramzil_Nixon';
INSERT INTO `topik_forum` SET `name` = 'Пробная тема №3', `id_for` = '2', `description` = 'Описание темы, тут краткое описаниее обшего что происходит в теме', `text` = 'Ну а тут собственно и текст всего, Рассуждение, обсуждение, короче полный текст', `avtor` = 'Ramzil_Nixon';
--
-- Комментарии форума
--
CREATE TABLE `lianka`.`comment_topik` (
`id` INT NOT NULL AUTO_INCREMENT ,
`text` TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL ,
`avtor` INT NOT NULL ,
`data` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
`id_topik` INT NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = INNODB;
--
-- Пробные комментарии
--
INSERT INTO `comment_topik` SET `text` = 'Текст комментария, ... Очень длинный.', `avtor` = '1', `id_topik` = '1';
INSERT INTO `comment_topik` SET `text` = 'Текст комментария, ... Очень длинный.', `avtor` = '1', `id_topik` = '1';
INSERT INTO `comment_topik` SET `text` = 'Текст комментария, ... Очень длинный.', `avtor` = '1', `id_topik` = '2';
INSERT INTO `comment_topik` SET `text` = 'Текст комментария, ... Очень длинный.', `avtor` = '1', `id_topik` = '1';
Таблицы еще не соединены, буду соединять с помощью ALTER. Как мне сделать правильную связку в случае если пользователь добавил к теме комментарий, тема ползла вверх? Заранее спасибо
Спустя 19 минут, 58 секунд (5.12.2011 - 12:18) Гость_qwerty написал(а):
можно создать поле в topik_forum - kol_com, скажем, куда будут добавляться количество коментов к данной теме, а уж потом сортировать с помощью
ORDER BY kol_com.
Если вывод будет идти с помощью do...while, то
а в kol_com при добавлении комментария приплюсовывать +1 в самом запросе на insert
Спустя 2 минуты, 8 секунд Гость_qwerty написал(а):
ааа, ты хочешь же по дате), ну тогда ORDER BY data. Смысл тот же
ORDER BY kol_com.
Если вывод будет идти с помощью do...while, то
$res = mysql_query("SELECT * FROM topik_forum ORDER BY kol_com");
$row = mysql_fetch_array(#res);
do {
echo 'Тема -' .$row[title]. '<br>';
echo 'Автор -' .$row[autor]. '<br>';
echo 'Описание -' .$row[description]. '<br>';
while($row = mysql_fetch_array(#res));
а в kol_com при добавлении комментария приплюсовывать +1 в самом запросе на insert
Спустя 2 минуты, 8 секунд Гость_qwerty написал(а):
ааа, ты хочешь же по дате), ну тогда ORDER BY data. Смысл тот же
Спустя 4 минуты, 34 секунды (5.12.2011 - 12:23) Ramzil_Nixon написал(а):
Гость_qwerty
Цитата (Гость_qwerty @ 5.12.2011 - 09:21) |
ааа, ты хочешь же по дате), ну тогда ORDER BY data. Смысл тот же |
В такой случае будет только по дате темы, а мне нужно - если в теме содержиться комментарий (комментарии в отдельной таблице) чтобы тема сортировалась по дате последнего комментария
Спустя 13 минут, 10 секунд (5.12.2011 - 12:36) Гость_qwerty написал(а):
Ramzil_Nixon
хм... ну тогда можно вместо поля количества комментариев, вставить поле даты последнего комментария last_com, где уже по этой дате сортировать. А при добавления комментария udate'ом обновлять дату новости
Спустя 44 секунды Гость_qwerty написал(а):
всмысле не дату новости, а дату добавления последнего комментария
хм... ну тогда можно вместо поля количества комментариев, вставить поле даты последнего комментария last_com, где уже по этой дате сортировать. А при добавления комментария udate'ом обновлять дату новости
Спустя 44 секунды Гость_qwerty написал(а):
всмысле не дату новости, а дату добавления последнего комментария
Спустя 2 минуты, 26 секунд (5.12.2011 - 12:39) NitroGenerate написал(а):
Цитата (Ramzil_Nixon @ 5.12.2011 - 09:23) |
В такой случае будет только по дате темы, а мне нужно - если в теме содержиться комментарий (комментарии в отдельной таблице) чтобы тема сортировалась по дате последнего комментария |
так по дате не темы, а по дате комментов.
Когда поля соедените будет oerder by topik_forum.data
Спустя 3 минуты, 36 секунд (5.12.2011 - 12:42) Ramzil_Nixon написал(а):
Цитата (Гость_qwerty @ 5.12.2011 - 09:37) |
всмысле не дату новости, а дату добавления последнего комментария |
В прямом смысле. Представь форум. Создают тему, и там нет ответов, то есть комментариев. Тема сортируется в списке тем по дате созданной темы. Допустим в эту тему ответили, уже тема содержить тему. И уже ннадо сортировать по дате добавленного комментария. потом еще кто то ответил на эту тему, уже получается 2 комментария. Уже надо сортировать по последнему добавленному комментарию.
Цитата (Гость_qwerty @ 5.12.2011 - 09:36) |
хм... ну тогда можно вместо поля количества комментариев, вставить поле даты последнего комментария last_com, где уже по этой дате сортировать. А при добавления комментария udate'ом обновлять дату новости |
Можно и с пару строчкой обойтись, а не такие грамадины писать
Спустя 53 секунды Ramzil_Nixon написал(а):
Цитата (NitroGenerate @ 5.12.2011 - 09:39) |
Когда поля соедените будет oerder by topik_forum.data |
Вот я и хочу узнать, как правильно их соединять
Спустя 10 минут, 47 секунд (5.12.2011 - 12:53) Гость_qwerty написал(а):
блин, тогда еще вариант)), создать там 2 поля и количества коментов и дату последнего комента. А в коде уже по условиям, if ($row[kol_com] == 0) { то тут уже по дате новости} else { по дате последнего комента}.
Цитата |
Можно и с пару строчкой обойтись, а не такие грамадины писать |
Так где же это махина то, так же пару строк)
Спустя 8 минут, 19 секунд (5.12.2011 - 13:01) Ramzil_Nixon написал(а):
Гость_qwerty, прямо на MySQL можно соединять 2 таблицы, вот это и ищу
Спустя 17 минут, 11 секунд (5.12.2011 - 13:19) Гость_qwerty написал(а):
Спустя 6 минут, 4 секунды (5.12.2011 - 13:25) Ramzil_Nixon написал(а):
Гость_qwerty, там с помощью JOIN рекомендуют, мне нужен ALTER
Спустя 59 минут, 12 секунд (5.12.2011 - 14:24) Placido написал(а):
Тебе ALTER нужен только для того, чтобы добавить внешний ключ в таблицу comment_topic. А сам внешний ключ нужен для поддержания ссылочной целостности.
Но и без него ты спокойно можешь отсортировать данные из таблицы topik_foum, предварительно объединив ее с таблицей comment_topik с помощью JOIN. С внешним ключем или нет, но без JOIN - никак.
Смотри, вот вариант без ALTER
Вместо `t`.* можешь подставить только те поля из таблицы `topik_forum`, которые тебе нужны.
И, кстати, у тебя avtor - INT, а ты в INSERTе вставляешь строку ("..., `avtor` = 'Ramzil_Nixon';")
Но и без него ты спокойно можешь отсортировать данные из таблицы topik_foum, предварительно объединив ее с таблицей comment_topik с помощью JOIN. С внешним ключем или нет, но без JOIN - никак.
Смотри, вот вариант без ALTER
SELECT
`t`.*, MAX(`c`.`data`) `data`
FROM
`topik_forum` `t`
LEFT JOIN
`comment_topik` `c` ON `t`.`id` = `c`.`id_topik`
GROUP BY `t`.`id`
ORDER BY `data` DESC;
Вместо `t`.* можешь подставить только те поля из таблицы `topik_forum`, которые тебе нужны.
И, кстати, у тебя avtor - INT, а ты в INSERTе вставляешь строку ("..., `avtor` = 'Ramzil_Nixon';")
Спустя 14 минут, 15 секунд (5.12.2011 - 14:38) Ramzil_Nixon написал(а):
Цитата (Placido @ 5.12.2011 - 11:24) |
И, кстати, у тебя avtor - INT, а ты в INSERTе вставляешь строку ("..., `avtor` = 'Ramzil_Nixon';") |
Это я исправил, теперь там ид пользователя записывается, ладно, спасибо, попробую щас
Спустя 2 минуты, 19 секунд Ramzil_Nixon написал(а):
Цитата (Placido @ 5.12.2011 - 11:24) |
`c` |
А это что?
Спустя 11 минут, 36 секунд (5.12.2011 - 14:50) Winston написал(а):
Спустя 6 минут, 39 секунд (5.12.2011 - 14:56) Ramzil_Nixon написал(а):
Winston, а можно обойтись без этого псевдонима?
Спустя 11 минут, 31 секунда Ramzil_Nixon написал(а):
А если так напишу, будет правильно?
Спустя 11 минут, 31 секунда Ramzil_Nixon написал(а):
$query_topik = mysql_query("SELECT *, DATE_FORMAT(`data`, '%H:%i | %d.%m.%Y') AS `date` FROM `topik_forum` LEFT JOIN `topik_forum` WHERE `id_for` = '".(int)$for['id']."' ORDER BY `comment_topik`.`data` DESC ") or die(mysql_error()); // Запрашиваем список топиков и выводим последнюю
А если так напишу, будет правильно?
Спустя 12 минут, 59 секунд (5.12.2011 - 15:09) Placido написал(а):
Цитата (Ramzil_Nixon @ 5.12.2011 - 13:56) |
Winston, а можно обойтись без этого псевдонима? |
Да легко. В части FROM после имени таблицы его не указываешь, и везде в запросе вместо него пишешь имя таблицы. Но зачем? Так ведь короче.
Спустя 2 минуты, 15 секунд (5.12.2011 - 15:12) Ramzil_Nixon написал(а):
Цитата (Placido @ 5.12.2011 - 12:09) |
Но зачем? Так ведь короче. |
Да понять просто не могу
Спустя 3 минуты, 27 секунд (5.12.2011 - 15:15) Placido написал(а):
Цитата (Ramzil_Nixon @ 5.12.2011 - 14:08) |
А если так напишу, будет правильно? |
Нет, так не пойдет, нужно перед каждым именем поля указывать имя таблицы (например, SELECT `topic_forum`.*, DATE_FORMAT(`comment_topic`.`data`, '%H:%i | %d.%m.%Y') и т.п.). А где GROUP BY и MAX() потерял? Там ведь рабочий запрос был ?
Спустя 1 минута, 57 секунд Placido написал(а):
Алиас (псевдоним) для этого и вводят - чтобы вместо имени таблицы писать один-два символа.
Спустя 27 минут, 30 секунд (5.12.2011 - 15:42) Invis1ble написал(а):
Ramzil_Nixon
зачем второй топик создал? Нужно было в том продолжать, тем более там уже был дан ответ.
зачем второй топик создал? Нужно было в том продолжать, тем более там уже был дан ответ.
Спустя 4 часа, 6 минут, 29 секунд (5.12.2011 - 19:49) Ramzil_Nixon написал(а):
Цитата (Placido @ 5.12.2011 - 12:15) |
Нет, так не пойдет, нужно перед каждым именем поля указывать имя таблицы (например, SELECT `topic_forum`.*, DATE_FORMAT(`comment_topic`.`data`, '%H:%i | %d.%m.%Y') и т.п.). А где GROUP BY и MAX() потерял? Там ведь рабочий запрос был ? |
А можно только один столбец дату вынуть и все? Или обязательно все столбцы вынуть?
Спустя 2 минуты, 10 секунд (5.12.2011 - 19:51) Ramzil_Nixon написал(а):
Invis1ble, да можно было.. как то не додумался
Спустя 5 минут, 10 секунд (5.12.2011 - 19:56) Placido написал(а):
Нужно "вынуть" хотя бы по одному столбцу из каждой таблицы: например, `topik_forum`.`id` (что будешь сортировать) и `comment_topic`.`data` (по чем будешь сортировать).
Спустя 3 минуты, 29 секунд (5.12.2011 - 20:00) Ramzil_Nixon написал(а):
Placido, балин, никак понять не могу....
Чувствую себя таким идиотом
Чувствую себя таким идиотом
Спустя 8 минут, 47 секунд (5.12.2011 - 20:09) Ramzil_Nixon написал(а):
Цитата (Placido @ 5.12.2011 - 16:56) |
`topik_forum`.`id` (что будешь сортировать) |
Придется походу всю инфу. У меня темы списком выводяться
Спустя 1 минута, 23 секунды (5.12.2011 - 20:10) Invis1ble написал(а):
Ramzil_Nixon
Я же писал тебе уже, как решается данная задача.
Положим, есть таблица с топиками - `topics`, и таблица с комментами - `comments`.
Таблицы связаны по полям `topics`.`id` - `comments`.`topic_id`
Поле в `comments` с датой добавления коммента - `commented_at`
Запрос на выборку топиков с сортировкой по дате комментов будет примерно такой:
Я же писал тебе уже, как решается данная задача.
Положим, есть таблица с топиками - `topics`, и таблица с комментами - `comments`.
Таблицы связаны по полям `topics`.`id` - `comments`.`topic_id`
Поле в `comments` с датой добавления коммента - `commented_at`
Запрос на выборку топиков с сортировкой по дате комментов будет примерно такой:
SELECT t.*
FROM `topics` t
LEFT JOIN `comments` c ON c.`topic_id` = t.`id`
ORDER BY c.`commented_at` DESC
Спустя 3 минуты, 50 секунд (5.12.2011 - 20:14) Ramzil_Nixon написал(а):
Цитата (Invis1ble @ 5.12.2011 - 17:10) |
Я же писал тебе уже, как решается данная задача. Положим, есть таблица с топиками - `topics`, и таблица с комментами - `comments`. Таблицы связаны по полям `topics`.`id` - `comments`.`topic_id` Поле в `comments` с датой добавления коммента - `commented_at` Запрос на выборку топиков с сортировкой по дате комментов будет примерно такой: |
Вот теперь более менее, щас попробую ТОлько у меня теперь эти таблицы не связаны, можно и так просто без ALTER обойтись?
Спустя 1 минута, 21 секунда (5.12.2011 - 20:15) Invis1ble написал(а):
Где ты видишь у меня в запросе ALTER ?
Спустя 17 секунд (5.12.2011 - 20:15) Placido написал(а):
Все просто: ты с помощью LEFT JOIN делаешь из двух таблиц одну, где к каждой строке из topik_forum (topik_forum.*, или topik_forum.id, или еще что-то, что указано в SELECT) "приклеивается" строка из comments_topik (вернее, одно поле - comments_topik.data), у которой поле id_topik совпадает с полем id в таблице topik_forum (... ON `topik_forum`.`id` = `comments_topik`.`id_topik`), если совпадения нет, то "приклеится" поле со значением NULL. А потом полученная таблица группируется - "MAX(comments_topik.data) ... GROUP BY topik_forum.id" - выбирается максимальное значение comments_topik.data для каждого id_topik, и потом сортируется по этой максимальной дате.
Спустя 1 минута, 32 секунды (5.12.2011 - 20:17) Ramzil_Nixon написал(а):
Цитата (Placido @ 5.12.2011 - 17:15) |
Все просто: ты с помощью LEFT JOIN делаешь из двух таблиц одну, где к каждой строке из topik_forum (topik_forum.*, или topik_forum.id, или еще что-то, что указано в SELECT) "приклеивается" строка из comments_topik (вернее, одно поле - comments_topik.data), у которой поле id_topik совпадает с полем id в таблице topik_forum (... ON `topik_forum`.`id` = `comments_topik`.`id_topik`), если совпадения нет, то "приклеится" поле со значением NULL. А потом полученная таблица группируется - "MAX(comments_topik.data) ... GROUP BY topik_forum.id" - выбирается максимальное значение comments_topik.data для каждого id_topik, и потом сортируется по этой максимальной дате. |
Вот теперь вроде окончательно понял Пойду испробовать С меня обоим +ы
Спустя 7 минут, 40 секунд (5.12.2011 - 20:25) Invis1ble написал(а):
да, группировку нужно применить еще
SELECT t.*
FROM `topics` t
LEFT JOIN `comments` c ON c.`topic_id` = t.`id`
GROUP BY t.`id`
ORDER BY c.`commented_at` DESC
Спустя 1 час, 9 минут, 34 секунды (5.12.2011 - 21:34) Ramzil_Nixon написал(а):
То есть: `topics` t так я задаю псевдоним, а так: t.`id` задаю да?
Спустя 37 минут, 2 секунды (5.12.2011 - 22:11) Ramzil_Nixon написал(а):
Написал так:
Ошибка такая:
$query = mysql_query("SELECT * FROM `topik_forum` LEFT JOIN `comment_topik` ON `comment_topik`.`id` = `topik_forum`.`id_topik` ORDER BY `comment_topik`.`data` DESC") or die(mysql_error());
Ошибка такая:
Цитата |
Unknown column 'topik_forum.id_topik' in 'on clause' |
Спустя 2 минуты, 10 секунд (5.12.2011 - 22:13) Winston написал(а):
Значит в таблице topik_forum нету поля id_topic
Спустя 1 минута, 53 секунды (5.12.2011 - 22:15) Ramzil_Nixon написал(а):
Winston, спасиба! оказывается только места перепутал
Спустя 17 часов, 27 минут, 22 секунды (6.12.2011 - 15:43) Ramzil_Nixon написал(а):
А для чего нужна группировка?
Спустя 2 минуты, 39 секунд (6.12.2011 - 15:45) Winston написал(а):
Спустя 1 час, 56 минут, 53 секунды (6.12.2011 - 17:42) Ramzil_Nixon написал(а):
Написал такой запрос:
Запрос работает. только не выдает нужную мне результаты. если пишу так:
Не выдает мне нужную ид то есть ид из таблицы topik_forum, не выходит, а выходит ид из таблицы comment_topik
Что я не правильно делаю?
$query_topiks = mysql_query("SELECT * FROM `topik_forum` LEFT JOIN `comment_topik` ON `comment_topik`.`id_topik` = `topik_forum`.`id` WHERE `id_for` = '".(int)$_GET['topiks']."' GROUP BY `topik_forum`.`id` ORDER BY `comment_topik`.`data` DESC") or die(mysql_error());
$qwe = mysql_fetch_assoc($query_topiks);
Запрос работает. только не выдает нужную мне результаты. если пишу так:
echo $qwe['id'];
Не выдает мне нужную ид то есть ид из таблицы topik_forum, не выходит, а выходит ид из таблицы comment_topik
Что я не правильно делаю?
Спустя 25 минут, 14 секунд (6.12.2011 - 18:07) inpost написал(а):
Ramzil_Nixon
Вместо * указывай таблицу и поле, которое необходимо тебе выбрать. Если надо выбрать из двух таблиц с одинаковым именем, допустим и там и там ID, то одно из id переименуй: `id` AS `id_second`
Вместо * указывай таблицу и поле, которое необходимо тебе выбрать. Если надо выбрать из двух таблиц с одинаковым именем, допустим и там и там ID, то одно из id переименуй: `id` AS `id_second`
Спустя 13 минут, 27 секунд (6.12.2011 - 18:21) Invis1ble написал(а):
Ramzil_Nixon
Зачем тебе тогда сортировка, если ты выбираешь всего одну запись?
Зачем тебе тогда сортировка, если ты выбираешь всего одну запись?
Спустя 36 минут, 59 секунд (6.12.2011 - 18:58) Ramzil_Nixon написал(а):
Этот ид мне для ссылки, что бы открыть эту тему из списка
Спустя 1 час, 35 минут, 57 секунд (6.12.2011 - 20:34) Ramzil_Nixon написал(а):
Можно не большой пример? по переименованию?
_____________
Миллионы приходят, уходят, не в них счастье. Самым важным на свете всегда будут люди в этой комнате, вот здесь, сейчас...