|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Assistant Maitrise d'Ouvrage Inscription : novembre 2004 Messages : 34 ![]() |
Bonjour,
J'avance tout doucement dans mon apprentissage de PHP et MySQL et j'aurais aimé vos avis sur la manière de traiter la problématique suivante. J'ai une table contenant une colonne de prénoms et une colonne de valeurs. Je souhaiterais faire une sorte de tirage au sort afin de récupérer un prénom au hasard dans ma colonne.... mais le nombre de chances que ce prénom sorte soit en fonction de la valeur de la deuxième colonne. Exemple pour être plus clair : Prénom / Valeur Prénom1 / 1 Prénom2 / 2 Prénom3 / 2 Prénom4 / 3 En gros, Prénom1 a plus de chance de sortir au tirage que Prénom2 3 ou 4. Prénom 2 ou 3 a plus de chance de sortir au tirage que Prénom4. Merci d'avance pour votre aide. |
|
|
00
|
|
|
#3 | |
|
Futur Membre du Club
![]() Assistant Maitrise d'Ouvrage Inscription : novembre 2004 Messages : 34 ![]() |
Bonjour,
Merci pour ce lien. Effectivement, c'est exactement la même demande que moi. Je n'ai apparemment pas utilisé les bons mots clés pour chercher sur le forum avant, ou je n'ai pas cherché sur le bon forum aussi.... ![]() Citation:
étant donné que j'aurais plusieurs milliers de lignes dans ma table, l'utilisation d'un tableau dans ce cas n'est-il pas limité ? Un tableau avec 100 000 entrées par exemple serait peut-être un peu trop (performance, mémoire, .... ) ? |
|
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() |
Bonjour,
Si tu as peur de mettre à genoux ton serveur, tu peux tout à fait procéder autrement. Tu créés une table t_participant dans laquelle tu mets autant de noms (et/ou copies de noms) que tu veux en fonction de ta valeur de fréquence et ensuite il ne te reste plus qu'à faire : Code sql :
SELECT id, nom FROM t_participant ORDER BY RAND() LIMIT 1; Et normalement le tour est joué
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Assistant Maitrise d'Ouvrage Inscription : novembre 2004 Messages : 34 ![]() |
Merci pour la piste.
Du coup, j'ai un peu mélangé les solutions pour trouver ce qui me convenait. Comme dans la première réponse : 1 - J'ai ajouté une colonne fréquence à ma table des prénoms 2 - J'ai généré un tableau contenant l'ensemble des fréquences ([1,2,2,3,3,3 ... ]) A ma manière : 3 - J'ai tiré au sort la fréquence dans le tableau 4 - J'ai tiré au hasard dans ma table de prénoms en faisant une pré-sélection sur le fréquence déterminée avant. Voilà. Merci pour l'aide apportée.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com