Как реализовать фейковый блок "только что купили"?

Тема в разделе "Как сделать...", создана пользователем Sergo_Sev, 25 дек 2013.

  1. Sergo_Sev

    Sergo_Sev Творец

    Регистр.:
    14 июн 2008
    Сообщения:
    571
    Симпатии:
    188
    Интересует идея реализации
    Требуется сделать блок "только что купили" и выводить якобы то, что купили несколько минут назад с указанием "19 минут назад, 25 минут назад"
    Если сделать к примеру по крону, что бы было каждые 5 минут шло добавление нового товара в блок - как то топорно получается
    Может сделать по числу заходов? Посетители просмотрели сайт 20 раз - добавился товар в блок
    И стоит добавлять новый товар для этого блока в БД MySQL или же лучше сохранять всё к примеру в текстовый файл?

    Нужно так же, что бы менялось время т.е. если посетитель попал на сайт, то он видит, что "купили 5 минут назад", а через 5 минут видит уже "купили 10 минут назад", а не ту же самую надпись

    В общем как лучше такое реализовать?
     
  2. Prometeus

    Prometeus Постоялец

    Регистр.:
    9 дек 2013
    Сообщения:
    57
    Симпатии:
    12
    Нужно по крону вызывать функцию, в которой, например:
    1)выполняется рандомная задержка 1-10 минут;
    2)добавляется по рандому товар в таблицу фиктивных покупок (можно ещё и рандомное количество, если товар типа батареек или другой расходки), в таблице также фиксируется время покупки;
    3)блок отображения покупок берёт информацию из этой таблицы о скажем последних 3-5 покупках и отображает на сайте;
    4)во многих скриптах магазинов есть блок типа популярного товара, можно попробовать его модернизировать под эти нужды.
     
    Sergo_Sev нравится это.
  3. Sergo_Sev

    Sergo_Sev Творец

    Регистр.:
    14 июн 2008
    Сообщения:
    571
    Симпатии:
    188
    К примеру использовать функцию sleep ?
    Это не будет нагружать сервер лишним и постоянно висящим на выполнении процессом?
     
  4. Prometeus

    Prometeus Постоялец

    Регистр.:
    9 дек 2013
    Сообщения:
    57
    Симпатии:
    12
    Да, sleep вполне подойдёт. Один дополнительный процесс, к тому же висящий, никак не повлияет на сервер, ни память не ест, ни процессор.
     
  5. PiaHurricane

    PiaHurricane Писатель

    Регистр.:
    22 ноя 2013
    Сообщения:
    3
    Симпатии:
    0
    С рандомной задержкой 1-10 минут тоже топорно будет. Я бы еще учитывал разницу в посещаемости сайта по времени суток (а может и дням недели). Чтобы глубокой ночью, например, "покупали" реже, а в часы пик - чаще. Будет намного реалистичней.
    Т.е. один cron срабатывает, к примеру, раз в 5 минут только с 9 до 20 часов:
    */5 9-20 * * *
    Второй по ночам, но раз в 15 минут:
    */15 0-8,21-23 * * *
    А через sleep уже рандомная задержка.

    Это если хочется реализовать средствами cron.