Hi! Could we please enable some services and cookies to improve your experience and our website?
Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code
CREATE TABLE banner (
id INT,
name VARCHAR(20)
);
INSERT INTO banner VALUES
(1, 'Banner A'),
(2, 'Banner B'),
(3, 'Banner C');
<?php
$sql = <<<SQL
SELECT *
FROM banner
ORDER BY RAND()
LIMIT ?
SQL;
$limit = 8;
$result = $mysqli
->execute_query($sql, [$limit])
->fetch_all(MYSQLI_ASSOC);
while (($count = count($result)) < $limit) {
$pool ??= $result;
shuffle($pool);
array_push(
$result,
...array_slice($pool, 0, $limit - $count)
);
}
var_export($result);