Здравствуйте.
У меня стоит задача рандомно выбрать из цикла foreach
id сотрудника, при этом не учитывать старый id сотрудника. На рандоме застыл...
if($queryStaffAccess = $mysqli->query("SELECT * FROM `staff` WHERE id_cabinet = '$id_cabinet'")) {
if($queryStaffAccess->num_rows) {
while($StaffAccess = $queryStaffAccess->fetch_assoc()) {
$StaffAccessBuffer[] = $StaffAccess;
}
}
}
foreach($StaffAccessBuffer as $StaffAccessValue) {
if ($StaffAccessValue['id_staff'] !== $id_staff_old and $StaffAccessValue['application'] == '1'){
//выбрать рандомно
}
}
P.S. Все в целях экономии запросов к базе, так как сейчас идут два запроса на каждую заявку, а их сотни тысяч. Получается при 1000 проверяемых заявок к базе еще 2000 дополнительных запросов в минуту.
Как вариант сделать так
SELECT name
FROM random AS r1 JOIN
(SELECT CEIL(RAND() *
(SELECT MAX(id)
FROM random)) AS id)
AS r2
WHERE r1.id >= r2.id
ORDER BY r1.id ASC
LIMIT 1
Либо сделать shuffle
на массив $StaffAccessValue и потом выбирать по очереди и делать сравнения на $StaffAccessValue['application'] == '1'
Виртуальный выделенный сервер (VDS) становится отличным выбором
Мне предоставили доступ к проекту Yii2И я не могу понять где находится точка входа в приложение(индексный файл) чтоб указать точку входа для...
Есть задачкаНаписать автотест, который бы менял аватарку пользователя в личном кабинете
как реализовать вызов метода модели при каждом обращении к контроллера через поведение yii2?