Задать вопрос
  • Какое самое простое решение для создания простой базы данных с GUI?

    @alexalexes
    azydov, есть еще MS Access - там можно добавлять формы, и создавать отчеты по вводимым критериям.
    Написано
  • Где используются кастомные события?

    @alexalexes
    const tasks = [...initialTask];
    Под список задач нужно создавать отдельный прототип объекта taskList со своими методами, обработчиками, событиями. Голый массив задач не может лежать отдельно, он должен быть внутри taskList и иметь отдельные методы доступа. В общем, тут нужно усилить ООП-шность. Нужно создать такой прототип, чтобы он сам следил за состоянием своего ресурса-массива.
    Написано
  • Где используются кастомные события?

    @alexalexes
    где в основном используются кастомные события?

    Там, где вы разрабатываете компоненты интерфейса без использования фреймворков и библиотек, как говорят, на чистом JS.
    Большая часть архитектур современных фреймворков построена так, что обработчики событий компонентов вы пишите, придерживаясь концепции выбранного фреймворка. Вам на низкий уровень спускаться не нужно, только познакомиться в учебных целях.
    Верно ли я поступил?

    Пример кода в студию.
    Написано
  • Что делать, если при покупке HDD на нем стоит пароль?

    @alexalexes
    Возможно, диск не новый. Это же озон.
    Написано
  • 5V3PIN и ADDR_LED1 (Asrock) на материнской плате это одно и то же, или нет?

    @alexalexes
    Хоть бы модель материнки указали. Хотели получить ответ по особенностям подключения к материнке, но самый главный параметр указать в вопросе забыли.
    Написано
  • Как вывести подсчёт статистики из базы данных?

    @alexalexes
    Либо отдельным запросом получаете:
    select count(*) total_count
    from statistics_couter_visit as scv

    Либо добавляете еще один count без case условий в запрос по всей статистике, но убираете ограничение в where:
    select count(case when scv.date >= UNIX_TIMESTAMP(CURDATE()) then 1 end) today_count,
           count(case when scv.date >= UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY)) and scv.date < UNIX_TIMESTAMP(CURDATE()) then 1 end) yesterday_count,
           count(case when scv.date >= UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 WEEK)) then 1 end) week_count,
           count(case when scv.date >= UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) then 1 end) month_count,
          count(*) total_count -- статистика за все время
    from statistics_couter_visit as scv
    -- тут нет where, выборку не урезаем, чтобы получать полный подсчет строк
    Написано
  • Как вывести подсчёт статистики из базы данных?

    @alexalexes
    $user_attendance_profile = mysql_fetch_array(mysql_query("
    SELECT * FROM 
    statistics_couter_visit 
    WHERE 
    tag='".mysql_real_escape_string($base_quest['tag'])."' AND 
    ip='".mysql_real_escape_string($ip)."' AND 
    browser='".mysql_real_escape_string($browser)."' AND 
    date >= UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL -1 DAY)) -- полночь следующего дня
    ")
    );

    1. Не нужно использовать время PHP, для MySQL предусмотрены функции curdate() и now() - от них можно получать текущую отметку времени.
    2. mysql_* функции небезопасные, их нужно заменить вдумчиво на mysqli_*. любой мамкин хакер, захотевший проанализировать на SQL-инъекции ваш сайт, найдет черный ход к вашей базе через юзер-агент браузера.
    Хоть я экранировал входные параметры через mysql_real_escape_string, но это отчасти снимает проблему инъекций. Нужно использовать подготавливаемые запросы, которые есть только в mysqli и PDO реализациях.
    Написано
  • Как вывести подсчёт статистики из базы данных?

    @alexalexes
    Не совсем корректно использовать строковый тип, чтобы записывать даты.
    Куда уместнее использовать тип timestamp или datetime.
    Я добавил второй вариант запроса, который будет работать в вашем случае.

    Из-за того, что тип поля строковый индекс будет работать молоэффективно из-за преобразования значений как целое число.
    Написано
  • Как вывести подсчёт статистики из базы данных?

    @alexalexes
    Строки при этом нужно по-другому извлекать.
    Пример с count-ами заточен под извлечение одной строки с конкретными названиями полей.
    while($row = mysql_fetch_assoc($result))
    {
      var_dump($row);
    }
    Написано
  • Как вывести подсчёт статистики из базы данных?

    @alexalexes
    Нужно выполнить команду create index в среде MYSQL, либо воспользоваться инструментарием phpmyadmin, если такой используется.
    Индекс нужен, чтобы оптимально получить все возможные выборки в тех запросах, где есть условия по этому полю.
    но пишет всё по нулям,

    Ну, тогда нужно проверять, извлекается ли что-то по простым запросам, типа:
    select * from statistics_couter_visit as scv
    И если подрезать выборку в пределах одного месяца:
    select *
      from statistics_couter_visit as scv
    where scv.date >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH)
    order by scv.date
    Написано
  • Как вывести подсчёт статистики из базы данных?

    @alexalexes
    Вам, наверное, еще рановато править модули, где идет взаимодействие с СУБД, раз у вас простая модификация и просмотр результатов запроса через PHP вызывает боль.
    Изучите этот раздел справки https://www.php.net/manual/ru/ref.mysql.php
    Наверное, чтобы познакомится с результатами запроса, нужно что-то такое набросать:
    $result = mysql_query("select count(case when scv.date >= CURDATE() then 1 end) today_count,
           count(case when scv.date >= DATE_SUB(CURDATE(), INTERVAL 1 DAY) and scv.date < CURDATE() then 1 end) yesterday_count,
           count(case when scv.date >= DATE_SUB(CURDATE(), INTERVAL 1 WEEK) then 1 end) week_count,
           count(case when scv.date >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH) then 1 end) month_count
    from statistics_couter_visit as scv
    where scv.date >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH) -- тут ограничение по макс. окну просмотра статистики, то есть по month_count");
    if(!$result)
    {
      echo "Could not successfully run query from DB: " . mysql_error();
      exit();
    }
    $row = mysql_fetch_assoc($result);
    if ($row)
    {
        echo 'today_count: '.$row["today_count"].'; ';
        echo 'yesterday_count: '.$row["yesterday_count"].'; ';
        echo 'week_count: '.$row["week_count"].'; ';
        echo 'month_count: '.$row["month_count"].'; ';
        // следовательно, значение для $today можно получить таким образом:
       $today = $row["today_count"];
    }
    
    mysql_free_result($result);

    PS: Заменить бы тут mysql_* функции на mysqli_*, но кто-ж это будет делать.
    Написано
  • Как вывести подсчёт статистики из базы данных?

    @alexalexes
    Ну, берите поисковик и разжевывайте самостоятельно:
    - Обычный count(*)
    - count(distinct полем)
    - count(с case выражением)
    - Что такое CURDATE(), NOW()
    - DATE_SUB()
    - Математика с типами данных date и datetime (вычитание, сдвиги, вычисления всяких понедельников взад и вреред, первых дней месяцев. года и т.д., правильное вычитание месяцев, определение возраста в целых годах и т.д.)
    - Перевод типов данных времени в строку и обратно (форматирование)
    - Сравнение дат
    Написано
  • Как решить проблему с HTTP ERROR 500?

    @alexalexes
    Что в логах апача пишет, когда идет запрос с 500?
    Написано
  • Возможна ли кража куки от всех сайтов?

    @alexalexes
    А если сайт злоумышленника на https?

    У злоумышленника другой домен. Браузер не поделиться с ним куками, не предназначенными для его домена.
    Написано
  • Как настроить кнопку удаления из бд?

    @alexalexes
    Можно, но только button-вариантом кнопки:
    <button type="submit" name="action" value="delete">Удалить</button>

    input[type="submit"] вариант не гибкий, заставляет называть так же кнопку, как параметр, который она отправляет:
    <input type="submit" name="action" value="delete"/>

    Дополнительные name/value в button не дает серьезных преимуществ перед обычным скрытым полем, тем более этих полей в форме может быть не одно.
    Написано
  • ПК уходит на перезагрузку при нагрузке на видюху, в чём может быть проблема?

    @alexalexes
    Ставлю на блок питания. То, что он раньше работал на предельной мощности, но подсох какой-нибудь конденсатор, и стабильность пропала. А то что монитор поменяли - вы просто, когда кабель вставляли, тряхнули системный блок, и параметры деталей БП, которые вот-вот откиснут, изменились.

    Для точной диагностики, нужно протестировать стабильность системного блока с видеокартой по слабее, и отдельно протестировать конфиг с rx 6650 xt видеокартой, но с заведомо рабочим блоком питания, ватт на 800 с сертификатом 80 plus.
    Тогда точно можно установить причину, что отваливается.
    Естественно, этот трюк можно проделать только в условиях мастерской, когда есть все запасные блоки любой конфигурации.
    Написано
  • Как хешировать email при регистрации пользователя и проверять при восстановлении?

    @alexalexes
    При регистрации пользователя хешировать указанный email и вносить его в таком виде в БД.

    Какая цель сего действа? Предотвратить утечку фактов, что такие-то юзеры пользуются вашей системой?
    Обычно, хешированием обрабатывают пароль. Логин хранят как есть.
    Написано
  • 100 градусов в простое i7-10700kf в чем причина?

    @alexalexes
    Enot_Teo, его можно занести с другого раздела диска или с флешки при первом подключении во вновь установленной системе.
    Написано
  • 100 градусов в простое i7-10700kf в чем причина?

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