Gå til innhold

velge random rad fra mysql


Anbefalte innlegg

Videoannonse
Annonse
Gjest Slettet+142


$sql = "SELECT COUNT(<rad_med_id>) AS antall FROM tabell";
$result = mysql_query($sql);
$resultat = mysql_fetch_assoc($result);
$antall = $resultat['antall'];

$tall = rand(1, $antall);

$nysql = "SELECT * FROM tabell WHERE <rad_med_id>='$tall'";
$ny_result = mysql_query($nysql);

osv... osv...

 

det finnes nok lettere metoder, men eg ville gjort det sånn som dette ;)

Endret av Slettet+142
Lenke til kommentar
<?php
 // Kjør spørring
 $get_data = mysql_query('SELECT * FROM tabell');

 // Tell rader
 $num_rows = mysql_num_rows($get_data) - 1;

 // Vilkårlig rad
 $row = rand(0, $num_rows);

 // Flytt peker til raden
 mysql_data_seek($get_data, $row);

 // Hent ut data
 $data = mysql_fetch_assoc($get_data);
?>

Lenke til kommentar
<?php
 // Kjør spørring
 $get_data = mysql_query('SELECT * FROM tabell');

 // Tell rader
 $num_rows = mysql_num_rows($get_data) - 1;

 // Vilkårlig rad
 $row = rand(0, $num_rows);

 // Flytt peker til raden
 mysql_data_seek($get_data, $row);

 // Hent ut data
 $data = mysql_fetch_assoc($get_data);
?>

6850660[/snapback]

Jeg har noe innvendinger/spørsmål her.

I mitt lille, blonde hode fungerer denne løsningen bare hvis det aldri er slettet noen rader, eksempelvis kan jeg ha en database med data på id 1, 5, 3, 7, 19 og 41. Da vil mysql_num_rows rreturnere 5 her, og når du da kjører rand mellom 0 og 5 vil kun radene 1,3 og 5 være mulig å hente ut.

 

eller hur?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...