За последние 24 часа нас посетили 16715 программистов и 1644 робота. Сейчас ищет 971 программист ...

Подсчет за сутки mysql php

Тема в разделе "PHP для новичков", создана пользователем EvilScorpion, 30 ноя 2016.

  1. EvilScorpion

    EvilScorpion Новичок

    С нами с:
    15 окт 2016
    Сообщения:
    44
    Симпатии:
    1
    есть запрос
    mysqli_query($link, "UPDATE `company` SET stat = stat + 1 WHERE stat='$schet'");

    он выводит полное значение за все время. Можно ли как нибудь сделать вывод за сутки, сколько накапало? т.е не создавая новую таблицу
     
  2. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Вы ничего не путаете? UPDATE - обновляет данные, а выводит - SELECT. Да, запрос UPDATE возвращает количество затронутых строк, но всё равно это как-то не вяжется с вашей задачей.
     
  3. EvilScorpion

    EvilScorpion Новичок

    С нами с:
    15 окт 2016
    Сообщения:
    44
    Симпатии:
    1
    Так я знаю что делает мой запрос. Мне нужен запрос который бы выводил - сколько накапало за сутки. если делаю простой вывод он мне пишет полное значение.
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень
    покажи как ты выводишь полное значение или что там еще?
     
  5. EvilScorpion

    EvilScorpion Новичок

    С нами с:
    15 окт 2016
    Сообщения:
    44
    Симпатии:
    1
    if ($_GET['id']) {
    $id = (int)$_GET['id'];
    $res = mysqli_query($link , "SELECT * FROM `company` WHERE `id` = '$id' LIMIT 1") or die (mysqli_error());
    $row = mysqli_fetch_assoc($res);
    <?php echo $row["stat"]?>

    Мне нужен подсчет за сутки.
     
  6. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    @EvilScorpion ну а где у тебя дата хранится? если нигде, то и никак :)
     
  7. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Это я уже понял. У вас есть поле, куда записывается дата и время обновления? Если да, то примерно так
    Код (Text):
    1. SELECT * FROM `company` WHERE `datetime_field`> NOW() - INTERVAL 24 HOUR;
     
  8. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    маленький оффтопик:
    знаешь почему это уродство?
    1. колонка id наверняка типа int, здесь не нужно приводить значение к строке (апострофы делают из твоего числа строку).
    2. колонка id наверняка первичный ключ. то есть полюбому id=чтототам даёт уникальное попадание. LIMIT 1 здесь лишний

    как у тебя наверное работает, просто это выдаёт нуба. работодателю такое нельзя показывать )))
     
  9. ArsNet

    ArsNet Новичок

    С нами с:
    24 май 2016
    Сообщения:
    288
    Симпатии:
    24
    Адрес:
    Владивосток
    Если честно то вообще не понимаю причем тут поле id и поставленная задача.

    Склоняюсь полностью к ответу @Deonis.

    Код (Text):
    1. SELECT * FROM `company` WHERE `datetime_field`> NOW() - INTERVAL 24 HOUR;
     
  10. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    id не при чем )) сказано же: оффтопик.

    imho, по теме всё выяснили, наступило время оффтопика. если что, прошу прощения.
     
  11. EvilScorpion

    EvilScorpion Новичок

    С нами с:
    15 окт 2016
    Сообщения:
    44
    Симпатии:
    1
    PHP:
    1. function statUpdate()
    2. {
    3.     getConnectSql();
    4.     global $mysqli;
    5.     if (isset($_GET['post'])) {
    6.     $res = $mysqli->query("UPDATE `company` SET stat = stat + 1 WHERE `id`='".(int)$_GET['post']."'") or die($mysqli->error($res));
    7.     }
    8.     return $res;
    9. }
    10.  
    11.  
    12. function dateTime()
    13. {
    14.     getConnectSql();
    15.     global $mysqli;
    16.     if (isset($_GET['post'])) {
    17.     $res = $mysqli->query("SELECT * FROM `company` WHERE `id`='".(int)$_GET['post']."'  AND `date` >= (CURDATE()-1) AND date < CURDATE()") or die($mysqli->error($res));
    18.     $row = $res->fetch_assoc();
    19.     }
    20.     return $row;
    21. }
    22. ?>
    вывод
    PHP:
    1. <span>Просмотров всего: <p><?php echo $fullStory["stat"]?></p></span>
    2.    <span>Просмотров за 24 часа: <p><?php echo $dateTime["stat"]?></p></span>
    Но что то не работает. за 24 часа выводит все и обновляется постоянно.
     
    #11 EvilScorpion, 6 дек 2016
    Последнее редактирование модератором: 6 дек 2016