Помогите с счетчиком

Тема в разделе "PHP", создана пользователем SEVASTOPOL, 26 сен 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. SEVASTOPOL

    SEVASTOPOL Постоялец

    Регистр.:
    28 июл 2008
    Сообщения:
    88
    Симпатии:
    40
    Короче поместил у себя новости на сайте, хочу поставить счетчик просмотров, то есть сколько человек просмотрело новость.

    Выглядит все так:

    Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость
    Читать дальше>> Просмотрело <кол-во человек которое нажало на читать дальше>

    Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость
    Читать дальше>> Просмотрело <кол-во человек которое нажало на читать дальше>

    Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость
    Читать дальше>> Просмотрело <кол-во человек которое нажало на читать дальше>

    Искал такие счетчики в нете, скачал пару, но нифига не разобрался. Может кто-помочь? Думаю, что не очень сложно это сделать...
     
  2. mefish

    mefish Support

    Moderator
    • Супермодератор
    Регистр.:
    30 авг 2007
    Сообщения:
    858
    Симпатии:
    621
    Покури DLE, мож выдерниш от туда:)
     
  3. SEVASTOPOL

    SEVASTOPOL Постоялец

    Регистр.:
    28 июл 2008
    Сообщения:
    88
    Симпатии:
    40
    Пробовал, не разобрался, переношу на свой сайт, возникают проблемы....
     
  4. -=Xardas=-

    -=Xardas=-

    Регистр.:
    17 сен 2008
    Сообщения:
    250
    Симпатии:
    58
    Создай таблцу в БД, и сделай что бы при создании нвости создавалась строка с кол-вом просмотров, и при клике на ссылку увиличивай число просмотров в этой строке, помоему все давольно просто :)
     
  5. SEVASTOPOL

    SEVASTOPOL Постоялец

    Регистр.:
    28 июл 2008
    Сообщения:
    88
    Симпатии:
    40
    Ничего не понял, что ты сказал.... Объясни...
     
  6. elcaste

    elcaste

    Регистр.:
    30 ноя 2007
    Сообщения:
    322
    Симпатии:
    175
    Если движок писал сам, то можно обойтись таблицей новостей, если сторонний - нужно добавить еще одну таблицу.

    Допустим новости у тебя в таблице:
    id | text | date | blabla
    -----------------------
    Создаешь таблицу news_read_count
    id | nid | count, где nid - id из таблицы новостей

    В функцию, которая добавляет новую новость, приписываешь код, который добаляет строку в таблицу счетчика. А в функцию, которая обрабатывает нажатие на "Читать дальше" добавляешь код обновляющий нужную строку в таблице счетчика.
    Ну а считать число из БД по id нововсти, думаю, проблемой быть не должно.
     
    SEVASTOPOL нравится это.
  7. SEVASTOPOL

    SEVASTOPOL Постоялец

    Регистр.:
    28 июл 2008
    Сообщения:
    88
    Симпатии:
    40
    Спасибо! Но у меня не стоит никакой движок. Мне нужен просто php код, где-то я его видел, но не помню где...
     
  8. elcaste

    elcaste

    Регистр.:
    30 ноя 2007
    Сообщения:
    322
    Симпатии:
    175
    Там того кода на строк 15-20 :)
    Думаю, это тебе поможет:
    http://freshcoder.ru/archives/87
     
    SEVASTOPOL нравится это.
  9. SEVASTOPOL

    SEVASTOPOL Постоялец

    Регистр.:
    28 июл 2008
    Сообщения:
    88
    Симпатии:
    40
    Не существует ли варианта без базы данных? Просто запись в .txt?
     
  10. elcaste

    elcaste

    Регистр.:
    30 ноя 2007
    Сообщения:
    322
    Симпатии:
    175
    Конечно, существует. В этом случае, при создании новости необходимо, чтобы изменялся сериализованный массив, который сохраняется в отдельном файле. Нужен будет, примерно, один файл на один месяц, чтобы массив не разростался, потому как, чем больше массив тем медленнее работает serialize/unserialize.
    http://ua.php.net/manual/en/function.serialize.php
    При создании новости алгоритм, примерно, такой:
    1. проверяем наличие файла текущего месяца, если нет - создаем, если есть - читаем и ансериализуем массив.
    2. добавляем/изменяем счетчик в строке новости по id.
    3. сериализуем массив и сохраняем его в файл.

    При отображении новостей читаем показания счетчика из того же файла по id отображаемой новости.
     
Статус темы:
Закрыта.