Счетчик комментариев

Zuzu123

Новичок
Счетчик комментариев

камрады,

поиск по форуму и поиск в интернете не дал исчерпывающего ответа.

я установил mysql + apache + php, и с помощью видео-уроков написал простую форму для добавления комментариев на сайт (типа гостевая книга). она работает через mysql, и все ок.

я хочу вывести на экран количество комментариев. как это сделать правильно... ?

спасибо заранее
 

Фанат

oncle terrible
Команда форума
выполнить запрос к базе данных.
select count(*) as cnt from comments
точно так же, как ты делаешь запрос для вывода самих комментариев.
вывести полученное значение
точно так же, как ты выводишь сами комментарии.
 

Zuzu123

Новичок
Фанат, а нельзя поподробнее написать? а то мне трудно так сразу врубиться.

могу выложить код, если надо.
 

Фанат

oncle terrible
Команда форума
Zuzu123
ты вообще понимал, что ты делал, когда комментарии писал?
или просто повторил, что тебе показали в видеокурсе, не понимая, что делаешь?
 

Zuzu123

Новичок
Фанат, я понимаю, что я делаю.

kruglov, попробую описать:

БД - ячейки autoID, name, email, comment, date_auto

на странице поля: name, email, comment.

на экран вывожу соотв. - name, email, comment и дату.

как дальше? при каждом последнем комменте выводить его autoID, как большее число?
 

Фанат

oncle terrible
Команда форума
если ты понимаешь, что делаешь, то почему у тебя вызывает затруднения фраза "выполнить запрос к базе данных"?

ты можешь выполнить запрос, или нет?
 

Zuzu123

Новичок
Фанат, я скорее не понимаю как правильно построить команду, если тебе от этого легче
 

Фанат

oncle terrible
Команда форума
какую команду ты ты не можешь построить?
SQL запрос, который я тебе написал, а ты в упор не видишь?
очки купи.

или команду выполнения SQL-запроса? Ты её уже строил. Когда свой скрипт писал.

Что ещё тебе непонятно?
 

Zuzu123

Новичок
погоди.

вот например:
SELECT * FROM guestbook ORDER BY date_auto
т.е. все из БД guestbook, сортировка по дате

что значит select count(*) as cnt from comments - я не понимаю пока.

count - это типа число, as cnt - это типа integer, цифра или как там, from comments - из БД comments

т.е. в моем случае:

SELECT count (*) as cnt from guestbook... как правильно построить запрос?
 

Фанат

oncle terrible
Команда форума
count - это "типа" функция, as cnt - это "типа" имя поля, в которое будет помещен результат
ещё вопросы?
 

Zuzu123

Новичок
будут. как написать правильный запрос?
потому что твои объяснения мне, как новичку, не понятны.
 

Фанат

oncle terrible
Команда форума
как написать правильный запрос, мой недалекий друг, я тебе написал в самом первом своем сообщении.

ты говоришь, что понимаешь, что делаешь.
значит, понимаешь, как выгладит, и из чего состоит SQL запрос.
так?
 

Zuzu123

Новичок
select (что-то или все) from (БД) ... и т.д.

на таком уровне понимаю. поправь там, где я не прав.
 

Фанат

oncle terrible
Команда форума
ну.
какая проблема адаптировать то, что я написал, под свою БД?
 

Zuzu123

Новичок
короче. вот как это все выглядит:

хм.
все равно не получилось.

вот моя БД.




вот поле autoID:

mysql> select autoid
+--------+
| autoid |
+--------+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| 20 |
| 21 |
| 22 |
| 23 |
| 24 |
| 25 |
| 26 |
| 27 |
| 28 |
| 29 |
| 30 |
| 31 |
| 32 |
| 33 |
| 34 |
| 35 |
| 36 |
| 37 |
| 38 |
| 39 |
+--------+

что мне с этим все делать теперь.... :( :( :(
 

Фанат

oncle terrible
Команда форума
при чем здесь твоя БД и поле аутоИД?
ЧТО у тебя не получилось? выполнить запрос, который ты уже написал?
 

A-Lex[FM]

Web/Highload/DataScience
по моему всё понятно.
1. делаешь запрос на получение записей гостевой или чего там у тебя
SELECT * FROM main_table ORDER BY date
2. в цикле типа
while($row = mysql_fetch_assoc($result)) {
// делаешь подзапросы в таблицу с коментариями, наример
$row_c = mysql_fetch_assoc(mysql_query("SELECT COUNT(*) AS cnt FROM comments_table WHERE parent_id=" . $row["id"]));
// а потом выводишь
echo "тут всё что тебе надо из $row";
// теперь коменты
echo "Коментов " . $row_c["cnt"].
}

Это как первый вариант. Второй вариант, ма мой взгляд более корректный, это JOIN'уть таблицы и доставать всё одним запросом.
 
Сверху