usort($source, function ($a, $b) use ($pattern) {
if (in_array($a['id'], $pattern))
if (in_array($b['id'], $pattern))
return array_search($a['id'], $pattern) - array_search($b['id'], $pattern);
else
return -1;
if (in_array($b['id'], $pattern))
return 1;
return 0;
});
usort($source, function ($a, $b) use ($pattern) {
return array_search($a['id'], $pattern) - array_search($b['id'], $pattern);
});
usort($source, function ($a, $b) use ($pattern) {
$x = array_search($a['id'], $pattern);
$y = array_search($b['id'], $pattern);
if ($x === false && $y !== false) return 1; // так они улетят вниз списка
if ($x !== false && $y === false) return -1; // элементы из паттерна будут в приоритете
if ($x == $y) return 0;
return ($x < $y) ? -1 : 1;
});
crontab
5 * * * * /home/username/tasks.php
<!-- вместо -->
<input type="radio" name="sortType" value="sort-az" checked="checked" id="sort-az"><label for="sort-az">Название: А — Я</label>
<!-- например: -->
<a href="/showAll?order=asc&sort=name">Название: А — Я</a>
document.getElementById('sort-az').onchange = function (event) {
if (event.target.checked)
document.location.href = '/showAll?order=asc&sort=name';
};
SELECT *, COUNT(status) as status_count FROM table_name WHERE name = :name GROUP BY user_id, status;