За последние 24 часа нас посетили 200369 программистов и 2074 робота. Сейчас ищет 1901 программист ...

Задать период времени. Нужна помощь.

Тема в разделе "PHP для новичков", создана пользователем MrAndrew, 11 окт 2010.

  1. MrAndrew

    MrAndrew Активный пользователь

    С нами с:
    11 дек 2009
    Сообщения:
    74
    Симпатии:
    0
    Здравствуйте. Есть код, который считает общее количество просмотров фото за все время. Нужно сделать так, чтобы выводил и количество просмотров за сутки например:

    PHP:
    1.     $sql = "SELECT SUM(image_hits) AS summ
    2.          FROM ".IMAGES_TABLE;
    3.   $row = $site_db->query_firstrow($sql);
    4.  
    5.   $sum = (isset($row['summ'])) ? $row['summ'] : 0;
    6.   $total_hits_today = "<B> ".$row['summ']."</B>\n";
    7.  
    8.  
    9.   $site_template->register_vars("total_hits_today", $total_hits_today);
    10. unset($total_hits_today);
    Помогите, пожалуйста, задать период времени. Благодарю!
     
  2. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Дак а в каком формате данные хранятся о времени?
     
  3. MrAndrew

    MrAndrew Активный пользователь

    С нами с:
    11 дек 2009
    Сообщения:
    74
    Симпатии:
    0
    К примеру, топ за сутки вывожу так:

    PHP:
    1. $mstod_images = time() - 60 * 60 * 24 * 1;
    2. $sql = "SELECT COUNT(*) AS num_rows_all
    3.        FROM (" . IMAGES_TABLE . " i, " . CATEGORIES_TABLE . " c)
    4.        WHERE i.image_active = 1 AND c.cat_id = i.cat_id AND i.image_date >= " . $mstod_images . " AND i.cat_id NOT IN (".get_auth_cat_sql("auth_viewcat", "NOTIN").")
    5.        ";
    И т.д.

    Только на моем примере не работает :-(
     
  4. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Мне влом копаться в том, что ты написал.
    Делается это так: берем функцию mktime() и "создаём" время, которое нам необходимо.
    Из БД выбираем те записи, метка времени которых больше или равна метке, которую вернула функция mktime()
     
  5. MrAndrew

    MrAndrew Активный пользователь

    С нами с:
    11 дек 2009
    Сообщения:
    74
    Симпатии:
    0
    Честно говоря, я не до конца понял, что именно мне нужно сделать. Я не программист, поэтому трудно. Сорри! :-(

    Может у вас есть пример где-нить? mktime()
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    MrAndrew
    список полей и формат дай
     
  7. MrAndrew

    MrAndrew Активный пользователь

    С нами с:
    11 дек 2009
    Сообщения:
    74
    Симпатии:
    0
    Если правильно понял, то вот список полей, IMAGES_TABLE

    image_id, cat_id, user_id, image_name, image_description, image_keywords, image_date, image_active, image_media_file, image_thumb_file, image_download_url, image_allow_comments, image_comments, image_downloads, image_votes, image_rating, image_hits, image_airline, image_dateday, image_datemonth, image_dateyear, image_reg, image_military, image_city, image_serial, image_com, image_civilian, image_country, image_aircraft, image_aircraftname, image_potm, image_potm_votes, image_potm_date, image_last_view, image_last_view_who, image_cityalt, image_aircraftnamealt, image_airlinealt, image_md5

    А вот что понимается под форматом не понимаю... :-(
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Это тип поля. текст там прячется или число.
     
  9. MrAndrew

    MrAndrew Активный пользователь

    С нами с:
    11 дек 2009
    Сообщения:
    74
    Симпатии:
    0
    Теперь ясно. Поле image_hits int(10) . все нужны, или этого достаточно будет?
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    не все. еще дата в каком формате?

    еще аопрос. у вас я вижу всю сумму просмотров. как будем за сутки выковыривать? никак. надо менять структуру базы - добавить еще одну табличку.
     
  11. MrAndrew

    MrAndrew Активный пользователь

    С нами с:
    11 дек 2009
    Сообщения:
    74
    Симпатии:
    0
    Дата: date("d.m.Y, H:i");

    создам табличку, image_hits_today int(10) ?
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    в бд дата в каком формате хранится - вам не известно? строка или число какое? может DATETIME или TIMESTAMP?
     
  13. MrAndrew

    MrAndrew Активный пользователь

    С нами с:
    11 дек 2009
    Сообщения:
    74
    Симпатии:
    0
    TIMESTAMP - вроде нашел