Вам, наверное, еще рановато править модули, где идет взаимодействие с СУБД, раз у вас простая модификация и просмотр результатов запроса через 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_*, но кто-ж это будет делать.
Ну, берите поисковик и разжевывайте самостоятельно:
- Обычный count(*)
- count(distinct полем)
- count(с case выражением)
- Что такое CURDATE(), NOW()
- DATE_SUB()
- Математика с типами данных date и datetime (вычитание, сдвиги, вычисления всяких понедельников взад и вреред, первых дней месяцев. года и т.д., правильное вычитание месяцев, определение возраста в целых годах и т.д.)
- Перевод типов данных времени в строку и обратно (форматирование)
- Сравнение дат
Ставлю на блок питания. То, что он раньше работал на предельной мощности, но подсох какой-нибудь конденсатор, и стабильность пропала. А то что монитор поменяли - вы просто, когда кабель вставляли, тряхнули системный блок, и параметры деталей БП, которые вот-вот откиснут, изменились.
Для точной диагностики, нужно протестировать стабильность системного блока с видеокартой по слабее, и отдельно протестировать конфиг с rx 6650 xt видеокартой, но с заведомо рабочим блоком питания, ватт на 800 с сертификатом 80 plus.
Тогда точно можно установить причину, что отваливается.
Естественно, этот трюк можно проделать только в условиях мастерской, когда есть все запасные блоки любой конфигурации.
Виктор, если процесс не зловредный, то он проявит нагрузку. Но, обычно, майнеры себя тушат, когда пользователь пытается проанализировать диспетчер задач. Если такое происходит при открытии диспетчера задач, то значит с софтом что-то не так.
https://esp32.com/viewtopic.php?t=33977
Можно, вместо открытия файла и чтения его по блокам, задаете сами размер file_size и подставляете нужный поток байтов вместо fread в цикле while (total_sent < file_size).
Возможен. Файл вируса должен явно упасть в список загрузки, скачаться, а вы его должны запустить явно - в фоновом режиме вы такое действие не пропустите.
---
Сам браузер по себе не имеет ценности как цель атаки, важно для злоумышленника, какие сессии в нем открыты, чтобы можно было бы дернуть ваши данные из какого-нибудь аккаунта. Поэтому появляются всплывающие окна, чтобы вы разрешили какое-либо действие либо с браузером, либо с акками.
Что-то вы спроектировали не так, что файл стал общим разделяемым ресурсом. Подозреваю, что еще не знакомы с СУБД, поэтому костылите хранение на файлах.
Имеется ввиду низкоуровневые языки программирования C/C++. На чем реализованы модули PHP сервера.
В этих языках нельзя на ходу переопределить емкость массива, приходится придумывать стратегию расширения массива до определенного порога элементов. Эти моменты расширения массивов и видны в бенчмарках, если замерять память и время выполнения скрипта при добавлении элементов в массив.
Если вручную хотите работать с таким графом, то можно для начального состояния выбирать любую вершину, какую вам удобно по критериям и визаулизировать эту вершину и ее смежных соседей. Потом по клику на смежную вершину подгружать ее соседей и так далее. По аналогии с деревом каталогов по кнопке "Обзор..." в проводнике файлов.
PS: Можете написать какой-нибудь поиск в ширину/глубину, чтобы не одно поколение вершин открывал, а несколько, пока соблюдается критерий и не достигнута глубина проброса до следующих крайних вершин.
А буквенные ключи уникальны для всего массива, или только для определенного уровня?
Например, во втором случае, вполне будет рабочий способ искать куст по пути: array("z","x","c","x","a")
, x уникален только вдоль определенного уровня вложенности, не заглядывая в потомков.
Конденсаторы пока в мультиметре на функции емкости не проверите, не убедитесь точно, что они исправны.
Они не только емкость могут терять, но и менять сопротивление саморазряда - это тоже сказывается на их реактивных характеристиках.
На подсветке может еще повышающий трансформатор быть неисправен - пробивать обмотку.
Без осциллографа сложно будет понять, исправился ли дефект после замены деталей или нет.
PS: Хотя самая типовая неисправность в подсветке, после выгорания клемм ламп - это трансформатор. В нем как правило, несколько вторичных обмоток - по числу ламп/секций светодиодов. Обмотки достаточно легко диагностировать. Нужно отключить все секции. В выключенном состоянии померить сопротивление каждой обмотки - они должны быть идентичны. Если какая-та обмотка в обрыве или наоборот сильно занижено сопротивление, значит, вот причина. Нужно менять трансформатор.
Изучите этот раздел справки https://www.php.net/manual/ru/ref.mysql.php
Наверное, чтобы познакомится с результатами запроса, нужно что-то такое набросать:
PS: Заменить бы тут mysql_* функции на mysqli_*, но кто-ж это будет делать.