Rand() functie voor top10

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Johan

Johan

20/01/2007 21:10:00
Quote Anchor link
Ik wil een (random) top 10 maken.
Hiervoor heb ik een klein scriptje, verdeelt over een pagina. Vandaar hieronder 4 blokjes.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?
    include('connect.php');
    
    $query = "SELECT film FROM filminfo ORDER BY RAND(0,8)";
    $result = mysql_query($query,$connect) or die($query."<BR>".mysql_error());

?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?     $aantal_rijen = mysql_num_rows($result);
            if ($aantal_rijen == 0) {
            echo "Het databeest is weggelopen.";
            }
else {
            $rij = mysql_fetch_assoc($result)    
        ?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo mysql_result($result, 0); ?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? } ?>


Echter geeft hij maar 1 record weer. Kan iemand mij vertellen hoe ik er 10 te zien krijg in random volgorde?
Gewijzigd op 01/01/1970 01:00:00 door Johan
 
PHP hulp

PHP hulp

18/11/2024 14:43:13
 
Jelle Posthuma

Jelle Posthuma

20/01/2007 22:07:00
Quote Anchor link
SELECT film FROM filminfo ORDER BY RAND(0,8) LIMIT 0,10

Je SQL script was al aardig compleet, je miste alleen LIMIT 0,10 nog.
 
Joren de Wit

Joren de Wit

20/01/2007 22:07:00
Quote Anchor link
Dat komt omdat je met mysql_result maar 1 rij ophaalt. Daarnaast gebruik je ook mysql_fetch_assoc, maar vergeet je om dit in een while loop te zetten. Als gevolg daarvan zal $rij alleen het laatste record uit de resultset bevatten.

Zoiets zou het moeten zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
while($row = mysql_fetch_assoc)
{

    echo $row['film'].'<br>';
}

?>
 
Johan

Johan

20/01/2007 22:11:00
Quote Anchor link
Error in de query!

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? $query = "SELECT film FROM filminfo ORDER BY RAND(0,8) LIMIT 0,10"; ?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
SELECT film FROM filminfo ORDER BY RAND(0,8) LIMIT 0,10
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '8) LIMIT 0,10' at line 1


Ik heb nog nooit met de RAND functie gewerkt, en kom er niet echt uit op http://nl2.php.net/rand ..

Thnx voor de hulp alvast!
Gewijzigd op 01/01/1970 01:00:00 door Johan
 
Joren de Wit

Joren de Wit

20/01/2007 22:22:00
Quote Anchor link
De RAND() functie in mysql in php zijn niet hetzelfde! Houd daar rekening mee!
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT film
FROM filminfo
ORDER BY RAND()
LIMIT 0,10

Dit zou volgens mij gewoon moeten werken.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.