webForumDet fria alternativet

Hjälp tack!

5 svar · 198 visningar · startad av mikaeled

mikaeledMedlem sedan dec. 2000157 inlägg
#1

Hej,

Jag har ett script som använder sig av mysql-databas. Jag skulle vilja veta koden för hur man gör så att scriptet tar en random rad ut databasen som har värde som är mer än 0 i kolumnenen ID

------------------
//Mikael

woodiMedlem sedan feb. 20001 270 inlägg
#2

$res = mysql_query("SELECT COUNT(id) AS cnt FROM tabellen");
$max=mysql_result($res,0,"cnt");
mt_srand((double)microtime()*10000000);
if ($max>1) {
$pick = mt_rand(1,$max);
} else {
$pick = 1;
}

$res = mysql_query("SELECT * FROM tabellen where id=$pick");

------------------
woodi
Svenska FF1
www.johan-skog.nu

[Redigerat av woodi den 07 jan 2001]

RobbanMedlem sedan dec. 19992 555 inlägg
#3

Annars skall det enligt manualen gå att fixa direkt i MySQL, om man kör version 3.23 eller senare (har inte haft tid att uppgradera, så jag har inte kunnat testa detta):

SELECT * FROM tabellen WHERE id > 0 ORDER BY RAND() LIMIT 1;

------------------
Robban < robban@lipogram.com >

woodiMedlem sedan feb. 20001 270 inlägg
#4

Robban
Javisst tusan, det hade jag förträngt! Tack för påminnelsen!

------------------
woodi
Svenska FF1
www.johan-skog.nu

mikaeledMedlem sedan dec. 2000157 inlägg
#5

men om jag vill skriva ut ett kolumns värde i just den här raden.

Hur gör jag det?

------------------
//Mikael

RobbanMedlem sedan dec. 19992 555 inlägg
#6

Om du följer woodis val av variabelnamn ovan, och använder:

$res = mysql_query("SELECT * FROM tabellen WHERE id > 0 ORDER BY RAND() LIMIT 1");

(Detta fungerar som sagt bara med version 3.23 eller senare - har du en tidigare version av MySQL får du köra med woodis exempel ovan)

Så skall du kunna plocka ut en kolumn med:

$row = mysql_fetch_array($res);
echo $row["kolumnnamn"];
mysql_free_result($res);

Återigen - har inte testat om det fungerar.

------------------
Robban < robban@lipogram.com >

[Redigerat av Robban den 07 jan 2001]

138 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)