ФорумПрограммированиеPHP для идиотов → Генерация новостей

Генерация новостей

  • Геннадий

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz 28 августа 2007 г. 10:28

    У меня новости хранятсяв базе и каждый раз генерируются из шаблона с помщью str_replace(). И я подумал сделать так чтобы новости генерировались не каждый раз, а раз в несколько часов или даже реже.
    И вот собственно в чем вопрос:
    1. Где хранить уже сгенерированные новости? В базе или в htm файлах
    и вставлять их на страницу с помощью include?
    2. Как проверять, нужно ли перегенерировать новость?
    Мне приходит в голову только один способ: записывать час в которые была сгенерирована новость, а потом проверять если текущий час отличается от того в которы была сгенерирована новость - генерировать ее заново. Это правильный вариант? (под часом я понимаю результат работы функции date("h").
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 28 августа 2007 г. 10:33, спустя 4 минуты 55 секунд

    А можно сперва поинтересоваться зачем ты генерируешь новости? Какая в этом необходимость? Думаю дельного там всё равно ничего не выходит. Ты эти "новости" роботам поисковым что ли скармливать пытаешься?
    Если хранятся в базе, то в зависимости от текущего времени можно в str_replace() подставлять разные слова, в первый час одно, во второй другое, тут вроде и проблем нет особых.
    Пропиши условие через mktime() для date() и всё, будет тебе счастье, но вобще звучит как бред. Объясни саму идею этих новостей.
    from TRIAL with LOVE
  • vasa_c

    Сообщения: 3131 Репутация: N Группа: в ухо

    Spritz 28 августа 2007 г. 10:42, спустя 9 минут 38 секунд

    TRIAL, как я понял у Геннадия в базе хранятся параметры новости (заголовок, текст и т.д. + шаблон вывода) и на их основе генерируется html-верстка новостей и он боится, что каждый раз генерировать будет слишком жирно.

    Если понял правильно, то итоговый html-код для конкретной новости можно хранить прямо в таблице с новостями в отдельном поле. И генерировать не раз в несколько часов, а только непосредственно при добавлении новости или редактировании параметров. Ну и при изменении шаблона.
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 28 августа 2007 г. 11:14, спустя 31 минуту 33 секунды

    Ну если в этом смысле, то лучше все-таки держать шаблон в скрипте и уже в него подставлять данные. Зато потом если потребуется изменить его изменить, не придется по всей базе лазить и во всех новостях хтмл править.
    Не думаю что это такой мега навороченый скрипт, который вешает весь сервер для генерации новости.
    from TRIAL with LOVE
  • Геннадий

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz 28 августа 2007 г. 11:16, спустя 1 минуту 55 секунд


    TRIAL, как я понял у Геннадия в базе хранятся параметры новости (заголовок, текст и т.д. + шаблон вывода) и на их основе генерируется html-верстка новостей и он боится, что каждый раз генерировать будет слишком жирно.

    Если понял правильно, то итоговый html-код для конкретной новости можно хранить прямо в таблице с новостями в отдельном поле. И генерировать не раз в несколько часов, а только непосредственно при добавлении новости или редактировании параметров. Ну и при изменении шаблона.

    Да, совершенно верно. Т.е. хранить сгенерированную новость лучше в базе?
    Дело в том что у меня считаются количества просмотров и показываются посетителю (и строится рейтинг)
    Поэтому я хотел генерировать раз в несколько часов, чтобы пользователи могли видеть количество просмотров.
  • Геннадий

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz 28 августа 2007 г. 11:17, спустя 1 минуту 24 секунды


    Ну если в этом смысле, то лучше все-таки держать шаблон в скрипте и уже в него подставлять данные.

    К тому же у меня несколько разных шаблонов, которые выбираются скриптом в зависимости от некоторых условий.
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 28 августа 2007 г. 11:34, спустя 17 минут 10 секунд

    а чем не устраивает хранить данные отдельно от верстки?
    нагрузка большая?
    все умрут, а я изумруд
  • Геннадий

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz 28 августа 2007 г. 13:02, спустя 1 час 27 минут 25 секунд


    а чем не устраивает хранить данные отдельно от верстки?
    нагрузка большая?

    Так я собственно так и делаю. В базе хранятся заглавие новости, текст, автор, дата добавления и т.д.
    Мне так удобней потому что выводить приходится по разному: то только заглавие со ссылкой, то вступительный текст и т.д.

    А то что я буду генерировать новости реально уменьшит нагрузку? И скорость?
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 28 августа 2007 г. 14:15, спустя 1 час 13 минут 23 секунды

    выясняется опытным путем
    а что, сервер падает?
    все умрут, а я изумруд
  • Геннадий

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz 28 августа 2007 г. 16:23, спустя 2 часа 7 минут 38 секунд


    выясняется опытным путем
    а что, сервер падает?

    Понятно. Нет, сервер не падает.
    Но я и не хочу доводить до такого состояния.
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 28 августа 2007 г. 16:44, спустя 21 минуту 2 секунды

    посетителей много?
    гденибудь видна загрузка сервера?
    все умрут, а я изумруд
  • Геннадий

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz 28 августа 2007 г. 21:31, спустя 4 часа 46 минут 57 секунд


    посетителей много?
    гденибудь видна загрузка сервера?

    Плсетителей не много, около 1000 хостов в сутки.
    Загрузку сервера посмотреть нельзя… верней не знаю как (не слышал даж про такое).
    А переживаю так, потому что хостер какойто мутноватый, и у меня уже было такое что при выводе новостей сайт "зависал" на секунд 15-20.
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 29 августа 2007 г. 9:22, спустя 11 часов 50 минут 53 секунды

    Врядли он зависал из-за новостей.
    Скорее всего он просто зависал, либо кто-то другой его вешал и выполнение твоих скриптов тут непричем.
    from TRIAL with LOVE
  • Геннадий

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz 29 августа 2007 г. 19:14, спустя 9 часов 51 минуту 59 секунд


    Врядли он зависал из-за новостей.
    Скорее всего он просто зависал, либо кто-то другой его вешал и выполнение твоих скриптов тут непричем.

    Понятно… спасибо всем за помощь…

Пожалуйста, авторизуйтесь, чтобы написать комментарий!