Traitement du % de chance

luciolis Messages postés 16 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 3 août 2007 - 2 août 2007 à 23:11
luciolis Messages postés 16 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 3 août 2007 - 3 août 2007 à 12:47
Bonjour,

Je dois traiter des résultats dans une base de données de cette structure :
id - entry - chance
1 - 443 - 5
1 - 456 - 5
1 - 435 - 80

Pour un même ID, php devrait choisir une des 3 entry en fonction du % de chance disponible dans le champ chance. Quelle est la fonction à utiliser? Notez que l'addition de tous les "chance" ne fera pas toujours 100, car c'est arrondi à la 4ème décimale.

Merci de votre aide
Luciolis

5 réponses

kishkaya Messages postés 365 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 17 avril 2008
3 août 2007 à 09:56
Bonjour,
T'es pas obligé de faire une requete SELECT * et de traiter le resultat en php. En cherchant bien tu trouve une requete SQL qui te retourne directement ce que tu cherches.
Je t'aurais bien aidé mais mon bouquin SQL (où je suis sur d'avoir lu ca) est chez moi et là je suis au boulot :).
Bonne recherche

_Marikou
0
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
3 août 2007 à 11:17
Salut,

Vite fait, qque chose comme ça :
select entry from table where id='1' order by chance desc limit 1

Ce qui veut dire, en fraçais :
selectionne l'entrée correspondant à l'id 1 avec la plus grosse chance...

A+http://www.catb.org/%7Eesr/faqs/smart-questions.html
0
luciolis Messages postés 16 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 3 août 2007
3 août 2007 à 11:36
Bah oui, mais dans ce cas là, c'est uniquement celui qui a la plus grosse chance qui a 100% de résultat. Il n'y a pas de traitement de %....
0
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
3 août 2007 à 11:49
D'accord... je n'avais pas compris ce que tu voulais...

Alors :
select entry from table where id='1' order by ( chance * rand() ) desc limit 1

Ca parrait logique... Non ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
luciolis Messages postés 16 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 3 août 2007
3 août 2007 à 12:47
Moui, je vais essayer ça...

je ne savais pas qu'on pouvait intégrer la fonction rand() dans la requete
0
Rejoignez-nous