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

PHP & Base de données Discussion :

Ecrire dans une table à l'intérieur d'une boucle [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 15
    Par défaut Ecrire dans une table à l'intérieur d'une boucle
    Bonjour,

    J'ai une liste de membres dans une table donnée. Pour chaque membre trouvé avec la requête mysql, je voudrais insérer dans une autre table no de membre + date + nombre aléatoire entre 0 et 70.

    J'ai donc essayé de faire ceci, avec une boucle :

    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
    <?php
     
    $currdate = date("d\/m\/y");
     
    echo "Current date is : ".$currdate."<br>";
     
    $db = mysql_connect('localhost', 'xxx', 'xxx');
    mysql_select_db('xxx',$db);
    $sql = "SELECT nomembre FROM membres WHERE c_status='555' ORDER BY nomembre";
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    while($data = mysql_fetch_assoc($req))
    {
        srand();
        $rand = rand(0, 70);
        $nomembre = $data['nomembre'];
     
        $sql = "INSERT INTO tirage VALUES('$nomembre','$currdate','$rand')";
        $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
     
        echo $nomembre." ".$currdate." ".$rand." OK!<br>";
    };
     
    mysql_close();
     
    ?>
    Le but est donc d'assigner chaque jour, à chaque membre actif (=status 555) un nombre tiré au sort entre 1 et 70.

    Lorsque j'exécute, j'ai cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Current date is : 19/08/08
    12310187 19/08/08 60 OK!
     
    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/site/public_html/admin/visits/manavisits.php on line 11
    Avez-vous une idée de ce qui cloche ?
    Apparemment c'est au niveau de la boucle mais ...???

    Merci et bonne journée !

  2. #2
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Par défaut
    Juste en vitesse, je te conseille d'utiliser des variables distinctes ! Car tu utilises $sql et $req en dehors et en dedans de ta boucle...
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    $req est la ressource de ta premiere requete.
    tu ne peux pas re-utiliser la variable a l'interieur de ta boucle alors que tu es en train de la parcourir.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 15
    Par défaut
    Citation Envoyé par Yoteco Voir le message
    Juste en vitesse, je te conseille d'utiliser des variables distinctes ! Car tu utilises $sql et $req en dehors et en dedans de ta boucle...
    Merci, ça marche !
    je vous remercie 1000 x !!!

    Citation Envoyé par sabotage Voir le message
    $req est la ressource de ta premiere requete.
    tu ne peux pas re-utiliser la variable a l'interieur de ta boucle alors que tu es en train de la parcourir.
    C'est juste,j'ai mis req2, et ça marche.
    Un très grand merci !

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/07/2013, 00h48
  2. Réponses: 6
    Dernier message: 15/06/2010, 03h18
  3. [MySQL] Créer une table actuelle à partir d'une table historique
    Par cleminute dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 20/10/2009, 14h35
  4. recupérer les info d'une table X pour alimenter une table Y
    Par lemerite dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 09/09/2008, 11h31
  5. Réponses: 6
    Dernier message: 07/08/2007, 21h42

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