timer(v){
let func = v,
timerId = null;
if (timerId) {
clearInterval(timerId);
}
timerId = setInterval(function tick() {
func();
}, 500);
}
(select id, dayofyear(bithday) day from mytable
having day > dayofyear(now()) -- дни после сегодняшнего
order by day limit 10)
UNION ALL
(select id, dayofyear(bithday) day from mytable
having day > 0 -- дни с начала года, на случай, если до конца года не набралось нужное количество
order by day limit 10)
limit 10
let a = [1,2,3,4,5,6,7,8,9,0]
while (a.length) {
let chunk = a.splice(0, 3)
console.log(chunk)
}
в чем тут вообще проблема, что почитать чтоб это понимать ?Смотри, какое колдунство мощное! (1, 2)
if(isset($_GET['p'])) $p = $_GET['p']; else $p = $nullpages[$row['type']]['p'];
неплохо бы заменить на что-то вроде $p = filter_input(INPUT_GET, 'p', FILTER_SANITIZE_NUMBER_INT) ?: $defaultP;
document.addEventListener('click', evt => {
if (evt.target.matches('button.action, button.action *')) {
console.log('target', evt.target)
let button = evt.target.closest('button')
console.log('button', button)
}
})