function file_session_write($base, $deltaLastTime)
{
$id = session_id();
//текущее время
$CurrentTime = time();
//через какое время сессии удаляются
$LastTime = time() - $deltaLastTime;
$file = file($base);
$k = 0;
for ($i = 0; $i < sizeof($file); $i++) {
$line = explode("|", $file[$i]);
if ($line[1] > $LastTime) {
$ResFile[$k] = $file[$i];
$k++;
}
}
for ($i = 0; $i<sizeof($ResFile); $i++) {
$line = explode("|", $ResFile[$i]);
if ($line[0]==$id) {
$line[1] = trim($CurrentTime)."\n";
$is_sid_in_file = 1;
}
$line = implode("|", $line); $ResFile[$i] = $line;
}
$fp = fopen($base, "w");
for ($i = 0; $i<sizeof($ResFile); $i++) { fputs($fp, $ResFile[$i]); }
fclose($fp);
if (!$is_sid_in_file) {
$fp = fopen($base, "a-");
$line = $id."|".$CurrentTime."\n";
fputs($fp, $line);
fclose($fp);
}
return sizeof(file($base));
}
session_start();
// а тут просто вызываем функцию с какими угодно параметрами, сколько угодно раз
$result1 = file_session_write( "session1.txt", 30);
$result2 = file_session_write( "session2.txt", 86400);
echo 'res1='.$result1.'; res2='.$result2;
numberStudentsPrice.innerHTML = +numberStudentsPrice.innerHTML + +numberStudentsPriceWeekend.innerHTML;
set tempdate=%date:~-10%
date 01-01-04
notepad.exe
date %tempdate%
set tempdate=%date:~-10%
date 01-01-04
start notepad.exe
date %tempdate%
select b.*
from (select a.*, -- атрибуты по агрегированной статистике
-- атрибуты записей-кандидатов на последние записи
s.id id_2,
s.product_id product_id_2,
s.warehouse_id warehouse_id_2,
-- ......
row_number() over (partition by s.product_id, s.warehouse_id, s.date order by s.id desc) r_num -- нумеруем кандидатов, по порядку id в статистике
from (select
product_id,
size,
warehouse_id,
max(date) later_date, -- поздняя дата
sum(orders) as orders
from stats
where date(`date`) >= '2023-09-01' and date(`date`) <= '2023-09-04'
group by product_id, warehouse_id, size
) a
left join stats s on s.date = a.later_date
and s.product_id = a.product_id
and s.warehouse_id = a.warehouse_id) b
where b.r_num = 1 -- берем первого кандидата (нужно проверить, будет ли null, если left join не присоединит запись)
Может есть "старый, советский, есть в каждом доме" способ чтобы обойти без покупки белого ip?
try
{
$insert->execute($mediaData);
}
catch(Exсeption $e) // см. также типы исключений того модуля, который подключается к СУБД, можно реагировать только на них, если подставить нужный тип
{
// тут код, который выполняется в случае ошибки (не обязательно при взаимодействии с СУБД)
}
finally
{
// тут код, который выполняется при любом исходе
}