Zobrazenie náhodného obrázka pomocou PHP a MySQL



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>" ;  
}
?>

Staň sa fanúšikom

TOPlist TOPlist