Tom's Guide > Forum > Programmation > [Résolu] Probleme fonction rand php

[Résolu] Probleme fonction rand php

Forum Programmation : [Résolu] Probleme fonction rand php

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !

Lire la meilleure réponse, apportée par Allstar27.

Mot :    Pseudo :           
 

Bonjour,
Voila j'aimerais savoir comment utilise la fonction rand en php dans mon cas.

Mon but:
J'affiche 3 articles en haut de page et j'aimerais qu'il soit afficher au hasard. C'est a dire parmi la liste des article, la fonction rand m'affiche 3 article différent et qu'a chaque actualisation de page par exemple ca en recharge d'autre.

Probleme que je rencontre: Faire en sorte de ne pas avoir 2 fois le même article choisi au hasard parmi les 3 et ne pas tomber sur un article avec un id inexistant. ( exemple quand je créé un article il prend un id et quand je le supprime cette id n'est pas réutiliser donc je peux avoir un trou entre. Article id 2 , 3 , 4 , 6, 7 , 8 ,9 )

Donc en résumé: Choisir un article parmi tout les id existant sans pour autant qu'il soit choisi 2 fois ou plus dans l'affichage de la page.

Merci d'avance

Bonjour,

Code :
  1. SELECT * FROM MA_TABLE ORDER BY RAND( ) LIMIT 1

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.
Meilleure réponse

Bonjour,

Code :
  1. SELECT * FROM MA_TABLE ORDER BY RAND( ) LIMIT 1

------------------------------ Rémunère ton site
Hosting Favicon
Clic pas ici
Répondre à Allstar27

J'ai essayé ca marche niquel, ca affiche pas 2 fois le meme article sur les 3 affiché donc c'est parfait. Merci bien.


Message édité par kepsylis le 27-10-2009 à 18:29:48
Répondre à kepsylis

De rien mais attention si ta base de donnée est trop grosse ca risque de prendre du temps à éxécuter la requête, une altérnative:

Code :
  1. <?php
  2. $req1 = mysql_query("select * from table" );
  3. $max = mysql_num_rows($req1);
  4. $rand = rand(1,$max);
  5. $req2 = mysql_query("select * from table limit $rand, 1" );
  6. ?>

------------------------------ Rémunère ton site
Hosting Favicon
Clic pas ici
Répondre à Allstar27
Tom's Guide > Forum > Programmation > [Résolu] Probleme fonction rand php
Aller à :

Il y a 839 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Liens