SELECT RAND(), mais permettre plusieurs fois la même ligne

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : SELECT RAND(), mais permettre plusieurs fois la même ligne

Re: SELECT RAND(), mais permettre plusieurs fois la même ligne

par Mazarini » 23 août 2011, 16:07

La réponse de Popy est d'autant bonne qu'elle permet d'éviter les doublons lorsqu'il y a au moins 10 questions.

Re: SELECT RAND(), mais permettre plusieurs fois la même ligne

par VaN » 19 août 2011, 17:44

pas con du tout.. merci bien pour l'idée.

Re: SELECT RAND(), mais permettre plusieurs fois la même ligne

par popy » 19 août 2011, 16:26

Bah, te fait pas chier, fait ça coté php : si t'as pas le quota de réponse, dupliques-en

Re: SELECT RAND(), mais permettre plusieurs fois la même ligne

par VaN » 19 août 2011, 16:13

C'est pour un site de QCM, par matières. Une série est composée de 10 questions, mais certaines matières ne comportent pas encore 10 questions, il faut donc que j'ai tout de même un total de 10 questions au moment de l'affichage de la série, grâce à la duplication de certaines. (je sais, le concept est bizarre, mais choix du client..)

Re: SELECT RAND(), mais permettre plusieurs fois la même ligne

par popy » 19 août 2011, 15:27

De façon horrible, mais oui.

Si dans ta requete tu rajoute une table (bidon), chaque ligne de ton résultat apparaitra X fois, x étant le nombre de ligne de la table rajoutée.

Mais c'est dans quel but ?

SELECT RAND(), mais permettre plusieurs fois la même ligne

par VaN » 19 août 2011, 14:44

Bonjour,

j'ai une table SQL sur laquelle je souhaite effecter un SELECT [...] ORDER BY RAND() LIMIT 10, mais que dans les 10 resultats retournés, il puisse y avoir plusieurs fois les mêmes lignes. Est-il possible de faire ça en SQL ?

Merci