Avatar billede domaz.dk Novice
08. december 2003 - 09:04 Der er 7 kommentarer og
1 løsning

4 random indlæg fra db??

Jeg kunne godt bruge et php-script der henter fire tilfældige indlæg ud fra en database...

Er der nogen der kan lave det??
Avatar billede rune.osterdal.com Nybegynder
08. december 2003 - 09:27 #1
SELECT * FROM table ORDER BY RAND() LIMIT 0,1

prøv denne.. fire gange..
Avatar billede rune.osterdal.com Nybegynder
08. december 2003 - 09:29 #2
eller måske
SELECT * FROM table ORDER BY RAND() LIMIT 0,4
én gang?
Avatar billede rune.osterdal.com Nybegynder
08. december 2003 - 09:51 #3
jeg går ud fra du selv kan bikse php'en sammen... ;-)
Avatar billede domaz.dk Novice
08. december 2003 - 10:20 #4
jep... ;)

jeg tester den lige når jeg kommer hjem... og hvis den så virker får du de 60 points :)
Avatar billede martinbk Nybegynder
08. december 2003 - 11:15 #5
jeg vil lige gøre opmærksom på at i nyere versioner af MySQL bør man give rand en parameter for virkelig at få noget tilfældigt, et mere sandfærdigt udtryk ville se nogenlunde sådan ud:

SELECT * FROM tabel ORDER BY RAND(NOW()) LIMIT 0,4
Avatar billede domaz.dk Novice
08. december 2003 - 15:48 #6
Det virker ikk rigtigt.... jeg bruger denne kode og vil gerne have vist 3 tilfældige affiliates ude i højre side (http://domaz.dk)... men som i også kan se er det bare de samme der er der hele tiden....

$resultat = mysql_query("SELECT * FROM affiliates ORDER BY rand(now()) LIMIT 0,3");

    while ($raekke = mysql_fetch_array($resultat)) {
        extract($raekke);

    echo "<tr><td width='120' height='1' align='center' style='padding-bottom: 2px;'><a href='func.php?f=redir_affiliates&i=$id' target='_blank'><img src='affiliates/$banner_link' width='88' height='31' style='border: 1px solid #999999;'></a></td></tr>\n";

    }

er der nogen der ved hva jeg gør galt??
Avatar billede martinbk Nybegynder
08. december 2003 - 19:20 #7
har søgt lidt rundt og fundet ud af at MySQL's rand() funktion skulle være en smule defekt prøv dette alternativ istedet:

$res = mysql_query('SELECT COUNT(*) FROM affiliates') or die(mysql_error());
$antal = mysql_result($res,0);
mysql_free_result($res);
if ($antal > 0) {
  $rndnum = mt_rand(0, $antal-1);
  $res = mysql_query("SELECT * FROM emner LIMIT $rndnum, 3") or die(mysql_error());
  while($row = mysql_fetch_array($res)) {
    extract($row);
}
Avatar billede domaz.dk Novice
08. december 2003 - 19:58 #8
jeg fandt selv ud af det.... det er sårn her...

$sel = mysql_query("SELECT count(id) as num FROM affiliates");
$res = mysql_fetch_array($sel);
$affiliates_all = $res[num];

$random_min = rand(0, $affiliates_all - 3);

$random_max = $random_min + 3;

$resultat = mysql_query("SELECT * FROM affiliates ORDER BY id LIMIT $random_min, $random_max");

    while ($raekke = mysql_fetch_array($resultat)) {
        extract($raekke);

    echo "<tr><td width='120' height='1' align='center' style='padding-bottom: 2px;'><a href='func.php?f=redir_affiliates&i=$id' target='_blank'><img src='affiliates/$banner_link' width='88' height='31' style='border: 1px solid #999999;'></a></td></tr>\n";

    }
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester