Partage
  • Partager sur Facebook
  • Partager sur Twitter

Tirage au sort php/sql

Sujet résolu
    20 janvier 2020 à 19:59:07

    Salut à toutes et à tous,

    Débutant en html/php et sql, je cherche à créer un tirage au sort sur mon site. Jusque là rien d'extraordinaire me direz-vous si ce n'est que dans mon cas je n'ai trouvé aucun exemple comparable à ce jour...

    Je m'explique l'idée est que "x" personnes se connectant sur une plage horaire définie (disons 2h) puissent participer à un seul et unique tirage au sort et que seul l'un des participants serait le vainqueur. Je ne peux pas anticiper niveau base de données car je ne connais pas le nombre réel de participant.

    Imaginons pour être plus claire:

    -1) vous allez au cinéma, pour cela vous achetez un billet ou vous avez un abonnement

    -2) avant la fin du film vous vous connectez sur un site

    -3) vous y renseignez votre numéro de billet à l'aide du formulaire prévu à cet effet

    -4) immédiatement après la soumission du formulaire un message de réponse vous indique si vous avez gagné ou non

    Je présume d'après la multitude de forums et de posts que j'ai pu voir que cela est réalisable, alors si une âme charitable voulez bien m'indiquer la marche à suivre je lui en serai éternellement reconnaissant! 

    • Partager sur Facebook
    • Partager sur Twitter
      20 janvier 2020 à 20:26:57

      Salut,

      Donc, pour pouvoir tirer un numéro au sort, encore faut-il le connaitre? de quelle façon compte tu tirer un numéro de ticket au sort? il faut que tu puisse les connaitre à l'avance.

      Disons que pour le film A tu vend les tickets de 00125 à 00250, tu as donc la possibilité de faire un rand(125,250)

      par contre comment compte tu récupérer le numéro du 1er et du dernier ticket? à la main? et ceci pour chaque film (même si ce n'est qu'un exemple)

      De plus, une fois tiré au sort, et validé par le propriétaire du ticket tu dois clore le tirage au sort en indiquant que le ticket gagnant a été validé

      Donc, une BDD avec id du tirage au sort, numero du 1et ticket, numero du dernier ticket, numero de ticket gagnant etc...

      Après: comment compte tu empecher un client de tenter X numéro de ticket au pif?

      Comment fait tu si la personne ne valide pas son ticket gagnant?

      Que fais tu s'il le valide mais qu'il se présente pas à toi pour réclamer son gain?

      Cordialement :)

      • Partager sur Facebook
      • Partager sur Twitter
        21 janvier 2020 à 9:32:46

        Merci Ptit Rat pour ton retour! Effectivement vu comme cela il y a des trous dans la raquette...

        Pour te répondre sur le principe du tirage au sort : selon l'exemple de notre film A, les souches ont une trame commune (disons de A000 à D999) je pourrai donc préparer une BDD si c'est utile avec tous les numéros possibles en associant un id à chacun.

        Si le ticket gagnant n'était pas saisi ou si le lot n'était pas retiré il serait alors remis en jeu à une autre date (on envisage plusieurs dizaines de tirages, tous les lots non retirés feraient eux l'objet d'un tirage spécial avec cette fois-ci plusieurs gagnants).

        Côté php j'ai commencé a travailler sur quelque de ce type (voir ci-dessous) le problème étant évidemment qu'à chaque entrée j'ai un autre résultat, je souhaiterai en définitif que la première soumission génère le tirage, que le résultat soit "enregistré" pour être retournée à toutes les soumissions qui suivent...

        Il y a je pense plus simple à faire...merci de vos contributions je les suivrai avec attention!

        -
        Edité par ArnaudLemounaud 21 janvier 2020 à 16:15:17

        • Partager sur Facebook
        • Partager sur Twitter
          21 janvier 2020 à 20:11:09

          Salut :)

          On avance :)

          Pour ton soucis, je pense que tu pense à l'envers :)

          Il faut dans un 1er temps générer le ticket gagnant et le stocker en BDD, tu as pas besoin de stocker chaque ticket rassure toi.

          Tu dois avoir une page admin, qui va générer le ticket gagnant, l'heure de fin, l'id du tirage au sort (au cas ou tu ai 5 films dans la journée) etc...

          Et ensuite avoir une simple page ou ton client va entrer son numéro de ticket, et à validation, lui dire s'il a gagné ou pas.

          Tu peux aussi ajouter un cookie ou une session pour stocker le fait que la personne a déjà joué.

          petit coup de pouce pour generer ton ticket gagnant:

          //une lettre de A à D
          $letter = chr(rand(65,68));
          //un chiffre de 0 à 999
          $number = rand(0,999);
          //ticket gagnant
          $winner_ticket = $letter.sprintf("%'03d",$number);



          • Partager sur Facebook
          • Partager sur Twitter
            21 janvier 2020 à 21:53:07

            Super, merci ! 

            Je pense comprendre mon erreur de perception.

            J'aurai simplement 2 questions si tu permets :

            - qu'est-ce que tu entends exactement par une page admin? 

            - j'ai préparé une page "formulaire" (ci-dessous), je peux m'en servir comme "simple page" pour que le client y mette son numéro de ticket?

            Merci encore pour ton aide...c'est sympa de pas se sentir seul

            • Partager sur Facebook
            • Partager sur Twitter
              21 janvier 2020 à 22:55:43

              re, il te faut une page qui va generer le ticket gagnant, déduire le début et la fin de la possibilité de rentrer le numero de son ticket, voir, si une souche de ticket n'est pas vendue entièrement, le 1er ticket à prendre en compte, ainsi que le dernier.

              En fait, tout ce qui te permet de gerer en "back-office" la jouabilité de ton tirage au sort :)

              • Partager sur Facebook
              • Partager sur Twitter

              Tirage au sort php/sql

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown