Я хочу сделать небольшой сервис. Основная идея службы - показать одну запись из таблицы mysql, и это делает это за клик в случайном порядке.Функция array_rand иногда возвращает пусто
Вот код, который я написал:
<?php
require'connection.php';
$dbQueryFirst = $nesnePDO->prepare("SELECT CategoryID FROM Categories");
$dbQueryFirst->execute();
while ($resultsFirst = $dbQueryFirst->fetch(PDO::FETCH_ASSOC))
{
$getidFirst[] = $resultsFirst;
$puppet = array_rand($getidFirst);
if ($puppet == null && empty($puppet))
{
shuffle($getidFirst);
}
}
$rndID = $puppet;
$dbQuerySecond = $nesnePDO->prepare("SELECT * FROM Categories WHERE CategoryID = :CategoryID");
$dbQuerySecond->bindParam(":CategoryID",$rndID);
$dbQuerySecond->execute();
$resultsSecond = $dbQuerySecond->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($resultsSecond);
?>
Первый запрос, получить идентификаторы из БД и принять их в array.Second запрос, получить случайный идентификатор из результата предыдущего запроса и показать всю строку соответствующего идентификатора. И я застрял в случайной функции. Если мне нужно, чтобы объяснить эту работу с процентом для более четко,
- хорошо работает, и получить результаты% 70
- получить пустой% 20
- получить пустой массив
[]
% 10
Я хотел показать скриншоты, но система не давала разрешения из-за моей репутации. Итак, заключительное заявление, как обычно, «Я не очень хорошо разбираюсь в PHP. Любая идея?» Честно говоря, любая помощь будет оценена по достоинству.
* При выборе только одна запись, array_rand() возвращает ключ для случайного входа * – splash58
посмотреть мой ответ Теперь – splash58