Chaine de charactères et base de données - PHP - Programmation
Marsh Posté le 06-06-2005 à 10:01:43
Il y a plus simple: tu tries le tirage, tu tries les numéros choisis par les joueurs, et tu compares les chaînes de caractères en une fois.
Marsh Posté le 06-06-2005 à 10:01:58
yoyo354 a écrit : Et si dans ton numéro de loterie tu as deux fois le même numéro ? |
C'est possible?
Marsh Posté le 06-06-2005 à 10:04:59
Je veux dire par là :
6-6-26-85-45-65
ou :
8-85-63-7-7-25
(C'est dure le matin quand on se lève...Surtout quand on passe son bac dans 4 heures )
Marsh Posté le 06-06-2005 à 10:05:05
ok merci pour le nom de la fonction.
Pense tu que c'est la bonne méthode ?
Surtout qu'il n'y aura pas 2 fois le meme numéro (comme au loto quoi).
Marsh Posté le 06-06-2005 à 10:09:44
yoyo354 a écrit : Je veux dire par là : |
C'est ce que j'avais compris.
angel92 a écrit : ok merci pour le nom de la fonction. |
Ok,ce qui me parait logique...
Marsh Posté le 06-06-2005 à 10:15:31
lol nan meme po ! ptet des lots ou un truc dans le genre, mais bon c'est a l'étude !
et sinon, je me demande aussi comment faire le tirage !
enfin pour tirer 6 numéros mais que aucun ne soit pareil.
J'utilise la fonction rand(1,49) mais y a trop de conditions a gérer, donc je me demande si y a pas un truc plus simple !
Marsh Posté le 06-06-2005 à 10:20:13
ben on tire le premier numéro avec un rand(1,49), ensuite on tire un 2ieme avec aussi rand(1,49), et on le compare au premier tiré, si c'est egale on refait un rand(1,49), et il faut le recomparé encore une fois etc ...
Il faudrais que j'utilise une fonction de récursivité nan ?
Parce que imaginons que le rand(1,49) donc 10 fois d'affilé le meme numéro, faudrait que j'ai prevenu 10 fois la condition.
Ou alors je fait un while( numero2 = numéro 1) ...
Donc voila, récursivité ou boucle while ?
Marsh Posté le 06-06-2005 à 10:23:27
angel92 a écrit : ben on tire le premier numéro avec un rand(1,49), ensuite on tire un 2ieme avec aussi rand(1,49), et on le compare au premier tiré, si c'est egale on refait un rand(1,49), et il faut le recomparé encore une fois etc ... |
tu fais ca avec des array
Marsh Posté le 06-06-2005 à 10:25:01
array_rand()
Marsh Posté le 06-06-2005 à 10:25:04
parce que le while en fait c pas si mal que ca, y a que 5 while a faire quoi
Marsh Posté le 06-06-2005 à 10:28:15
Lol ! et je fais comment avec le array rand ?
je cré un tableau de 49 cases, et je pioche dedans ?
Mais comment faire pour ne pas tomber 2 fois sur la meme case ? Faudra aussi que je fasse des whiles nan ?
Marsh Posté le 06-06-2005 à 10:31:37
euh vé pas bete
Citation : |
est-ce que ca sort les même chiffre si tu met 10 à int num_req ???
Marsh Posté le 06-06-2005 à 10:50:26
Pour ta requête, je pense que c'est une erreur d'enregistrer 6 numéros dans un seul champ. Au niveau de la rapidité c'est mal, et imagine la gueule des requêtes si tu veux faire par la suite des statistiques sur les numéros pariés.
Je te conseille d'enregistrer 6 nombres dans la base. Et en comptant un char par nombre (le TINYINT de mysql par ex), ça prendra moins de place que la chaine avec les tirets.
Après, pour avoir le tous les gagnants (ceux qui ont plus de 3 bons numéros par exemple), tu peux faire une requête du style :
|
avec 15,7,9,14,16,36 le tirage, tu compte en fait le nombre de bons numéros de chaque joueur.
Et tu obtiens d'un coup tous les joueurs qui ont plus de 3 bons numéros .
Marsh Posté le 06-06-2005 à 09:52:44
Salut tout le monde.
J'aimerais installer une loterie sur mon site et pour cela j'aurais quelques questions à vous poser.
J'ai décidé d'enregsitrer 6 numéros dans un seul champ dans une bdd. Pour pouvoir ensuite le comaprer avec le tirage, je vais utiliser la fonction (je ne me souviens plus du nom) qui permet de découper une chaine de caractères avec un espaceur (ici le tiret-) et de placer les différentes parties dans un tableau.
Ensuite pour comaprer, je prend le 1er numero du tirage et je parcours le tableau de la personne qui a joué pour voir si il a touve le meme numero. et je repete cette operation pour les 6 numéros.
Pensez vous que je dois utilier cette méthode, elle ne risque pas d'etre trop longue?
Merci beaucoup