Nedávno som písal ako zobraziť náhodný obrázok alebo text v PHP. Toto nieje zrovna ideálne riešenie pri väčších množstvách zdrojových dát. Preto to riešim na strane databázového servera, v ktorom sú v tabuľke poukladané cesty z náhľadom, linky na odkazy a popis obrázkov pomocou osvedčeného skriptu (na zdroj si už asi nespomeniem). Najprv si vytvoríme tabuľku v našej databáze:
CREATE TABLE `randompic` (
`id` int(11) NOT NULL auto_increment,
`link` text NOT NULL,
`image` longtext NOT NULL,
`text` text NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM;
Naplníme ju dátami, samozrejme upravte si to podľa vašich predstáv:
insert randompic links values ('NULL',
"obrazky/obrazok1.jpg",
"nahlady/obrazok1.jpg", "obrazok1");
insert randompic links values ('NULL',
"obrazky/obrazok2.jpg",
"nahlady/obrazok2.jpg", "obrazok2");
insert randompic links values ('NULL',
"obrazky/obrazok3.jpg",
"nahlady/obrazok3.jpg", "obrazok3");
...
A teraz samotný skript, ktorý bude náhodne vyberať toľko obrázkov z databázy, koľko si nastavíte:
<?
// pripojime sa k databaze
mysql_connect ('127.0.0.1','uzivatel','heslo') ;
mysql_select_db ('nazov_databazy');
// pocet obrazkov ktore chceme zobrazit
$num_displayed = 2 ;
// nahodny vyber z databazy
$result = mysql_query ("SELECT *
FROM randompic ORDER BY RAND()
LIMIT $num_displayed");
while ($row = mysql_fetch_array($result))
{
// zobraz vystup
echo "<a href="" . $row["link"] . "">
<img src="" . $row["image"] . "" border=0
alt="" . $row["text"] . ""></a>" ;
}
?>