No z komentáře jste také spokojeni s teoretickou odpovědí.
Pokud máte pole se všemi řádky, použijte array_unique()
abyste se zbavili duplicitních řádků, použijte shuffle()
promíchejte je a na konci si můžete vzít plátek pomocí array_slice()
.
UPRAVIT:
Můžete to zlepšit, když již nevyberete duplicitní řádky, pak nemusíte používat array_unique()
. Pro toto použití DISTINCT
. A pokud chcete udělat vše v dotazu, můžete udělat něco takového:
SELECT DISTINCT column FROM table
ORDER BY RAND()
LIMIT 1000