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
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Подсчет сообщений в данной теме [2]
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql_query("SELECT COUNT(*) FROM `table1`, `table2` LEFT JOIN `table2` ON (`table2' at line 1
Михаил
Отправлено: 17 Декабря, 2010 - 23:39:15
Гость
Покинул форум
Сообщений всего: 112
Дата рег-ции: Июнь 2010 Откуда: Армавир, Россия
Помог: 0 раз(а)
admroot
Цитата:
пробовал выполнить запрос в базе :
CODE (SQL):
скопировать код в буфер обмена
1.
SELECT COUNT(*) FROM `table1`, `table2` RIGHT JOIN id ON (`table1`.`id` = `table2`.`tid`)
Покинул форум
Сообщений всего: 15
Дата рег-ции: Дек. 2010
Помог: 0 раз(а)
точно, не увидел... но не пойму, запрос другой, а отображаются тоже везде единицы, три темы создал и в каждой написал по сообщению, а в четвертой 2 сообщения, но все равно единица отображается
кто то делал форумы с выводом числа сообщений в теме?
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Гораздо интереснее, как в код ошибки SQL попала mysql_query, которой там никак быть не может!
admroot, возьмите для начала какой-нибудь клиент к mysql (phpmyadmin тот же), отладьте запрос, чтобы он возвращал что вам нужно. Тогда уже будет легко его перенести на сторону PHP.
----- PostgreSQL DBA
admroot
Отправлено: 17 Декабря, 2010 - 23:53:44
Новичок
Покинул форум
Сообщений всего: 15
Дата рег-ции: Дек. 2010
Помог: 0 раз(а)
в phpmyadmin и отлаживаю, только логике запрос никак не может поддаться ) На русском это выглядит так: Выбрать все сообщения которые соответствуют данной теме (тема и сообщения связаны - тоесть table1.id = table2.tid)
Михаил
Отправлено: 17 Декабря, 2010 - 23:55:18
Гость
Покинул форум
Сообщений всего: 112
Дата рег-ции: Июнь 2010 Откуда: Армавир, Россия
Помог: 0 раз(а)
в SQL-запросе поменяйте местами table1 и table2
admroot
Отправлено: 17 Декабря, 2010 - 23:57:22
Новичок
Покинул форум
Сообщений всего: 15
Дата рег-ции: Дек. 2010
Помог: 0 раз(а)
Михаил пишет:
в SQL-запросе поменяйте местами table1 и table2
как только не менял уже
Мелкий
Отправлено: 18 Декабря, 2010 - 00:03:24
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
admroot, давайте вы напишете, что вы от запроса хотите получить в итоге и какие таблицы с полями есть. Мне что-то кажется, что вы не оттуда идёте к цели.
Потому что дословно "Выбрать все сообщения которые соответствуют данной теме" - это запрос только к одной таблице, т.к. такая формулировка предполагает, что "эта тема" известна.
----- PostgreSQL DBA
admroot
Отправлено: 18 Декабря, 2010 - 00:09:10
Новичок
Покинул форум
Сообщений всего: 15
Дата рег-ции: Дек. 2010
$query = mysql_query("SELECT COUNT(*) AS `count` FROM `table2` LEFT JOIN `table1` ON `table1`.`id` = `table2`.`tid` WHERE `table1`.`id` = `table2`.`tid`");
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Помог: 10 раз(а)
Есть некая таблица категорий (тем форума, разделов каталога и т.п.) и есть некая таблица items (постов темы или товаров некого раздела каталога и т.п.). Нам нужно выяснить, сколько постов в теме или сколько товаров в неком разделе каталога (например, сколько товаров в разделе телевизоры LG).
Покинул форум
Сообщений всего: 15
Дата рег-ции: Дек. 2010
Помог: 0 раз(а)
есть таблица с темами и таблица с сообщениями из этих тем , в каждой теме выводятся сообщения для текущей темы. вопрос: как узнать сколько сообщений в теме?
структура таблицы тем tible1: id, text, date
структура таблицы сообщений tible2: id, tid, text, date (Добавление)
evgenijj пишет:
SELECT COUNT(*) FROM posts a INNER JOIN themes b ON a.theme_id=b.id WHERE b.id=2056
но у меня же надо выяснить не в конкретном id, а в нескольких....
то есть есть темы (и будут еще) с id 1,2,3.....500 и тд. они выводятся списком, и при нажатии на определенную тему, выскакивают сообщения которые соответствуют данной теме... как реализовать вывод колличества сообщений в данной теме (темы выводятся списком do while)
evgenijj
Отправлено: 18 Декабря, 2010 - 00:26:25
Участник
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Помог: 10 раз(а)
Цитата:
есть таблица с темами и таблица с сообщениями из этих тем , в каждой теме выводятся сообщения для текущей темы. вопрос: как узнать сколько сообщений в теме?
Разве я не объяснил?
P.S. Приветствую такую тягу к знаниям Написать свой форум -- это хорошая практика для новичка. Может быть, тебе (ничего, что на ТЫ?) будет интересно: http://webmasterschool[dot]ru/articles/
Там внизу, есть десяток статей о том, как я сам писал форум, и как набивал себе шишки
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
admroot пишет:
то есть есть темы (и будут еще) с id 1,2,3.....500 и тд. они выводятся списком, и при нажатии на определенную тему, выскакивают сообщения которые соответствуют данной теме... как реализовать вывод колличества сообщений в данной теме (темы выводятся списком do while)
Таки надо не в одной конкретной, а получить список тем и количество сообщений в каждой?
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.