Random

Tags:    php

Hvordan kan jeg lave et script, der tager en tilfældig linie ud fra en mySQL-database??

ligesom det KasperTSW(webmaster) har på sin side... http://kasper.tsw.dk



3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
En nemmere måde vil være:

$query = mysql_query("SELECT * FROM tabel ORDER BY RAND() LIMIT 1");
$r = mysql_fetch_array($query);
$navn = $r["navn"];
echo "Vinderen blev <b>$navn</b>. Vi siger tillykke!";

Det burde virke.... har ikke testet det dog. Håber du forstår ideen i det.


Da jeg nogle gang har oplevet, at det ikke virker, er her en anden metode:

<?
$query = mysql_query("SELECT id FROM tabel");
$antal = mysql_num_rows($query);
$max = $antal - 1;
$id = rand(0,$max);
$data = mysql_query("select * from tabel WHRE id = $id");

$row = mysql_fetch_array($result);
$navn = $row["navn"];
echo "Vinderen blev <b>$navn</b>. Vi siger tillykke!";
?>


/*
Mikl
mikl@mikl.dk
www.mikl.dk

"Livet er for kort til ASP"

ICQ:
Stationære: 133439986
Bærbare: 159096501
*/

Kim Jensen aka BOSH
http://www.hulubulu.dk[Redigeret d. 16/10-02 11:17:42 af BOSH]



Hvordan kan jeg lave et script, der tager en tilfældig linie ud fra en mySQL-database??

ligesom det KasperTSW(webmaster) har på sin side... http://kasper.tsw.dk

Din SQL statement skal se således ud:
select * from foo where order by rand() limit 1
Resten af scriptet kan findes under php/mysql artikler her på sitet

Mvh,

Thomas Nielsen



Da jeg nogle gang har oplevet, at det ikke virker, er her en anden metode:

<?
$query = mysql_query("SELECT id FROM tabel");
$antal = mysql_num_rows($query);
$max = $antal - 1;
$id = rand(0,$max);
$data = mysql_query("select * from tabel WHRE id = $id");

$row = mysql_fetch_array($result);
$navn = $row["navn"];
echo "Vinderen blev <b>$navn</b>. Vi siger tillykke!";
?>


/*
Mikl
mikl@mikl.dk
www.mikl.dk

"Livet er for kort til ASP"

ICQ:
Stationære: 133439986
Bærbare: 159096501
*/



t