IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Répétition


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 67
    Par défaut Répétition
    Bonjour all,
    Voila j'ai un script qui genere de facon aléatoire des nombres puis vérifie si ils sont déja présent dans la bdd, si ce n'est pas le cas il les enregistre...
    Mon probleme c'est que j'aimerai faire une sorte de boucle qui ferait que mon script générait des nombres à l'infini jusqu'a ce que les nombres généré ne figure pas dans la bdd.

    Voici mon script en épserant que vous pourrez m'aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    srand(time ());
     
    for ($i=0;$i<1;$i++){
    $nb1 =rand (1, 3);
    }
    for ($i=0;$i<1;$i++){
    $nb2 =rand (1, 50);
    }
    for ($i=0;$i<1;$i++){
    $nb3 =rand (1, 10);
     
    print ("Nombre aléatoire : $nb1 , $nb2 , $nb3 <br><br>") ;
    }
     
    $timestamp = time() ;
     
                // on recherche si les nombre généré sont déjà utilisés par un autre membre
                $sql = "SELECT count(*)  FROM pl WHERE g = '$nb1' AND sy = '$nb2' AND se = '$nb3'";
                $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
                $data = mysql_fetch_array($req);
     
                if ($data[0] == 0) {
    			$sql = 'INSERT INTO pl VALUES ("", "' . $login . '", "' . $nom_pl . '", "' . $nb1 . '", "' . $nb2 . '", "' . $nb3 . '",  "'.$timestamp.'")';
    			mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
    Voila,
    Merci d'avance à ceux qui m'aideront

  2. #2
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut
    ca c'est de la boucle

    bah oui, tu ne passe qu'une fois dedans ...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 67
    Par défaut
    Citation Envoyé par Maxoo
    ca c'est de la boucle

    bah oui, tu ne passe qu'une fois dedans ...
    lol :/
    J'ai trouvé ce script ya assez lontemp et bon jusqu'a présent il ma suffit :/

    HELP ME PLZ !!!!
    Je sais toujours pas faire comment faire :/

  4. #4
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut
    Mon probleme c'est que j'aimerai faire une sorte de boucle qui ferait que mon script générait des nombres à l'infini jusqu'a ce que les nombres généré ne figure pas dans la bdd.
    j'ai pas vraiment compris,

    en gros dans ta BDD tu as 1,2,3,4.
    et tu fais une boucle qui te génère un nb au hasard et si il trouve 1,2,3 ou 4 il recommence jusqu'a trouvé 5, ou 10, ou 243 ??

    une dernière question : ca sert a quoi ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 67
    Par défaut
    No pas tout a fait en faite par exmmple :

    Le client passe sur la page, le script génére : 2,24,6
    Il va chercher dans la bdd si une combinaison 2,24,6 existe déja si oui il doit regénérer une nouvelle combinaison et revérifie et ainsi de suite jusqu'a ce qu'il genere une combinaison qui n'est pas présente dans la bdd à ce moment la il l'entre.

    Et pour répondre à ta question, ben c'est une sorte d'identification que je veux utilisé sur mon sitec'est pour ca que chaque combinaison doit etre differente.

    Merci de votre futur aide

  6. #6
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut
    ou ca te donne un identifiant unique, à coup sur !!

    apres tu peux toujours tester si il est pas présent dans ta base, donc avec un while, et voila.

  7. #7
    Membre Expert
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Par défaut
    au hasard

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    do {
    $r1=mt_rand(1,3); $r2=mt_rand(1,50); $r3=mt_rand(1,10);
     
       $sql = sprintf("SELECT count(*)  FROM pl WHERE g=%d AND sy=%d AND se=%d", $r1, $r2, $r3);
       $res = mysql_query($sql) or die ($sql."<br />".mysql_error());
       $nb = mysql_fetch_row($res);
       $nanexist=($nb[0]>0)?false:true;
     
    } while (!$nanexist);
    dans ce genre ?


  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 67
    Par défaut
    Désolé de ne pas poster que maintenant mais j'ai eu quelques problemes de connect ces temps-ci...
    Euh merci à toi ska_root. !
    J'essayerai un peu plus tard dans la journée pour voir si il marche mais je t'en remercie déja

    Probleme résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/02/2005, 11h03
  2. Répétition de données identiques...
    Par Regis.C dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 15/04/2004, 21h46
  3. Stopper la répétition du clavier
    Par Chris89 dans le forum Assembleur
    Réponses: 6
    Dernier message: 17/10/2003, 20h53
  4. bouttons à répétition
    Par shumy dans le forum C++Builder
    Réponses: 3
    Dernier message: 26/10/2002, 18h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo