Afficher le nombre de ligne d'une table MySQL

Khrea -  
wido22 Messages postés 20 Statut Membre -
Bonjour à tous,
Mon problème est le suivant : Je cherche à générer une page aléatoire sur mon site, et ceci en "piochant" au hasard une ligne d'une de mes tables de ma base de données MySql.
Je me suis renseigné au près de mon ami Google, mais n'ai rien trouvé de bien concluant.
J'ai tenté le bout de code suivant :


$max = mysql_query('SELECT COUNT(*) FROM cours');
srand();
$aleatoire = rand(1, $max);
while ($donnees = mysql_fetch_array($max))
{
echo '<span class="decalage" <a href="cours.php?page=' .$aleatoire . '">Aléatoire</a>';
}


Ce qui m'affiche l'erreur : Warning: rand() expects parameter 2 to be long, resource given in....

Je ne sais pas si mon code est partiellement ou totalement faux, pour ce que je désire obtenir. Est-ce que l'un d'entre vous aurait l'extrême bonté de m'éclairer ? =P
A voir également:

1 réponse

wido22 Messages postés 20 Statut Membre 32
 
Si tu veux avoir une variable qui correspond au nombre d'entree dans une table utilise plutot :

$max = mysql_query('SELECT COUNT(*) AS nb_entree  FROM cours');
$donnees = mysql_fetch_array($max)

srand();
$aleatoire = rand(1, $donnees['nb_entree']-1);

echo '<span class="decalage" ><a href="cours.php?page=' .$aleatoire . '">Aléatoire</a></span>'; 



Avec $donnees['nb_entree'] qui est egal au nombre total de ligne que tu as dans ta table. Fait attention car pour MYSQL, la premiere ligne correspond a l'entree 0 d'ou le "-1".

Par contre, je ne suis pas sur pour le random.
1