Losowe wyświetlanie unikalnych rekordów

Select random unique records

Przykład PHP + MySQL2014-03-07 stopień trudności: łatwy

Ktoś mnie kiedyś zapytał jak zrobić rotator losowych unikalnych linków, poniżej rozwiązanie.
Założmy że mamy bazę linków i chcemy w jednym ograniczonym miejscu wyświetlić tylko kilka losowo w tym wypadku 10, w dodatku chcemy by były unikalne a więc nie dublowały się.


Posłużymy się tu poleceniem DISTINCT które wskaże unikalne rekordy oraz podamy rodzaj sortowania RAND() co dodatkowo wskaże rekordy losowo z różnych miejsc tabeli. Polecenie LIMIT określi nam ilość rekordów jakie chcemy pobrać.


<?
$zapytanie 
mysql_query("SELECT DISTINCT nazwa,link FROM nazwa_tabeli ORDER BY RAND() LIMIT 10")
or die(
mysql_error());

while (
$rekord mysql_fetch_array($zapytanie))
{
echo 
"<a href=\"".$rekord['link']."\">".StripSlashes($rekord['nazwa'])."</a><br/>";
}
?>

 
close
Strona korzysta z plików cookies. Zastosowane pliki cookie służą jedynie do prowadzenia ogólnych statystyk pozwalających na określenie popularności serwisu.