Rechercher : dans
Par :

Afficher le nombre de ligne d'une table MySQL

Dernière réponse le 29 mai 2009 à 04:12:14 Khrea, le 28 mai 2009 à 21:52:52 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Firefox 3.0.10

Meilleures réponses pour « Afficher le nombre de ligne d'une table MySQL » dans :
Sed - Numérotation de lignes VoirNumérotation * Numéroter les lignes (équivalent à "cat -n fichier.txt") sed = fichier.txt L'inconvénient c'est que l'affichage se fait sur 2 lignes. Donc pour palier à ce petit "défaut" sed = fichier.txt | sed 'N;s/\n/\t/' Numéroter les...
Tableaux HTML VoirUtilisation de tableaux Il est souvent utile de présenter des informations mieux structurées qu'avec des listes. Les tableaux permettent de les afficher en lignes et en colonnes. Les tableaux sont définis comme étant des suites de lignes. Un...

1

 wido22, le 29 mai 2009 à 04:12:14

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.

Répondre à wido22
Collection CommentÇaMarche.net