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 = 7;
$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);