[RESOLU] affiche 20 enregistrements aléatoire en php

mahdivitche
WRInaute impliqué
WRInaute impliqué
 
Messages: 967
Inscription: 6 Jan 2008

[RESOLU] affiche 20 enregistrements aléatoire en php

Message le Mer Aoû 13, 2008 10:03

J’ai une table qui contient plus de 60 enregistrements et je veux seulement afficher 20 enregistrements mais aléatoire.

J’ai utilise la méthode rand(1,60) je stock dans un variable puis un autre rand(1,60) et je vérifie si ni pas le nombre précédent en stock dans une autre variable ect…

Svp y’a-t-il une méthode plus simple que ça ?


Merci d’avance
Dernière édition par mahdivitche le Mer Aoû 13, 2008 10:57, édité 1 fois.

Effectivement
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 21
Inscription: 29 Mar 2008

Re: affiche 20 enregestrements aléatoire une php

Message le Mer Aoû 13, 2008 10:17

En php, tu peux faire un shuffle et prendre les 20 premiers.

mahdivitche
WRInaute impliqué
WRInaute impliqué
 
Messages: 967
Inscription: 6 Jan 2008

Re: affiche 20 enregestrements aléatoire une php

Message le Mer Aoû 13, 2008 10:18

Effectivement a écrit:En php, tu peux faire un shuffle et prendre les 20 premiers.


Merci mais je veux 20 enr. aléatoire et pas les 20 premiers

Effectivement
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 21
Inscription: 29 Mar 2008

Re: affiche 20 enregestrements aléatoire une php

Message le Mer Aoû 13, 2008 10:21

mahdivitche a écrit:
Effectivement a écrit:En php, tu peux faire un shuffle et prendre les 20 premiers.


Merci mais je veux 20 enr. aléatoire et pas les 20 premiers


Le shuffle mélange le tableau donc les 20 premiers sont aléatoires.

Soit dit en passant, je viens de me rendre compte qu'il existe une fonction array_rand alors tu as encore moins à te casser la tête:
http://www.manuelphp.com/php/function.array-rand.php


mrPringle
WRInaute impliqué
WRInaute impliqué
 
Messages: 592
Inscription: 11 Mar 2006

Message le Mer Aoû 13, 2008 10:21

Si tu fais un shuffle, les 20 premiers enregistrements seront aléatoires, comme l'ensemble du tableau.


bgdc
WRInaute impliqué
WRInaute impliqué
 
Messages: 723
Inscription: 23 Mai 2005

Message le Mer Aoû 13, 2008 10:23

ben tu peux faire

Code: Tout sélectionner
select * from table order by rand() limit 0,20;


Je ne sais plus si le order by est obligatoire.

Edit : une table ou tableau ?

mahdivitche
WRInaute impliqué
WRInaute impliqué
 
Messages: 967
Inscription: 6 Jan 2008

Message le Mer Aoû 13, 2008 10:46

bgdc a écrit:ben tu peux faire

Code: Tout sélectionner
select * from table order by rand() limit 0,20;


Je ne sais plus si le order by est obligatoire.

Edit : une table ou tableau ?


une table de base de donneé

mahdivitche
WRInaute impliqué
WRInaute impliqué
 
Messages: 967
Inscription: 6 Jan 2008

Message le Mer Aoû 13, 2008 10:57

Merci bgdc & mrPringle & Effectivement


BobbySixKiller
WRInaute discret
WRInaute discret
 
Messages: 182
Inscription: 17 Fév 2005

Message le Mar Nov 04, 2008 11:38

J'avais oublié cette manière élégante :D


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités