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 :

[SQL] Problème insertion de données


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de griese
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    646
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Par défaut [SQL] Problème insertion de données
    Bonjour à tous,
    J'ai des petits soucis avec l'insertion des données dans ma BDD.
    quand je liste les valeurs contenu dans mon tableau, voila ce que j'obtiens :
    TOTO
    1
    2
    3
    4
    TITI
    5
    6
    7
    8
    TATA
    9
    10
    11
    12
    Jusque là, pas de porblème, par contre quand je les inserts dans ma BDD, voilà ce que je retrouve dans ma BDD :
    TATA|9|12|11|4
    TATA|9|12|11|8

    Et moi, ce que je veux c'est ça :
    TOTO|1|2|3|4
    TITI|5|6|7|8
    TATA|9|10|11|12

    Voici le code que j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $compteur=$_SESSION['tableau']*5;
    for ($i=0; $i<$compteur; $i++){
    echo $_SESSION['inter'][$i];
    }
    for ($i=0; $i<$compteur; $i=$i+5){
    if ($_SESSION['inter'][$i]<> "") {
    echo "<br>".$i;
    $req="UPDATE correspondre SET Nom_inter='".$_SESSION['inter'][$i]."', Num_projet='".$_SESSION['code_projet']."', jour_TR1='".$_SESSION['inter'][$i+1]."', jour_TR2='".$_SESSION['inter'][$i+2]."', jour_TR3='".$_SESSION['inter'][$i+3]."', jour_TR2='".$_SESSION['inter'][$i+4]."' WHERE Num_projet='".$_SESSION['code_projet']."';";
    $insert=mysql_query($req);
    }
    }
    Quelqu'un voit-il d'où viens le problème ?
    Merci d'avance

  2. #2
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Je rejouterai une condition pour vérifier que tu démarres bien sur TOTO, TITI ou TATA (donc tous les 5):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for ($i=0; $i<$compteur; $i=$i+5){
    if ($_SESSION['inter'][$i]<> "") {
       if(in_array($i, array(0, 5, 9)) {
          echo "<br>".$i;
          $req="UPDATE correspondre SET Nom_inter='".$_SESSION['inter'][$i]."', Num_projet='".$_SESSION['code_projet']."', jour_TR1='".$_SESSION['inter'][$i+1]."', jour_TR2='".$_SESSION['inter'][$i+2]."', jour_TR3='".$_SESSION['inter'][$i+3]."', jour_TR2='".$_SESSION['inter'][$i+4]."' WHERE Num_projet='".$_SESSION['code_projet']."';";
          $insert=mysql_query($req);
       }
    }
    }

  3. #3
    Membre éclairé Avatar de griese
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    646
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Par défaut
    J'ai rajouté le in_array mais ce ne marche pas, j'ai un message d'erreur
    Warning: in_array(): Wrong datatype for second argument in c:\program files\easyphp1-8\www\insert_modif_projet.php on line 80

    Apparement la syntaxe exact est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(in_array(array(0,5,10),$i))
    Mais ça ne marche pas mieux

  4. #4
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Et il s'affiche quoi?

  5. #5
    Membre éclairé Avatar de griese
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    646
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Par défaut
    rien d'autres mis a part le message d'erreur

  6. #6
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Ce code fonctionne très bien chez moi:

    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
    26
    27
    <?php
    $var['inter'] = array('TOTO',
                         '1',
                         '2',
                         '3',
                         '4',
                         'TITI',
                         '5',
                         '6',
                         '7',
                         '8',
                         'TATA',
                         '9',
                         '10',
                         '11',
                         '12');
     
    for ($i=0; $i<count($var['inter']); $i=$i+5){
       if ($var['inter'][$i]<> "") {
             echo $var['inter'][$i]."<br>";
             echo $var['inter'][$i+1]."<br>";
             echo $var['inter'][$i+2]."<br>";
             echo $var['inter'][$i+3]."<br>";
             echo $var['inter'][$i+4]."<br><br />";      
       }
    }
    ?>
    Il m'affiche bien les groupes que je veux. Ca peut aussi venir de ta variable $_SESSION['tableau'] pour la boucle...
    Edit: Mmm ça servait à rien d'ajouter ma condition vu que tu fais $i=$i+5...

  7. #7
    Membre éprouvé Avatar de gd_dev
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Suisse

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 79
    Par défaut Je pense que c'est dans la requête
    Bonjours,

    Le problème est dans la requête SQL

    UPDATE correspondre
    SET Nom_inter='".$_SESSION['inter'][$i]."',
    Num_projet='".$_SESSION['code_projet']."',
    jour_TR1='".$_SESSION['inter'][$i+1]."',
    jour_TR2='".$_SESSION['inter'][$i+2]."',
    jour_TR3='".$_SESSION['inter'][$i+3]."',
    jour_TR2='".$_SESSION['inter'][$i+4]."'
    WHERE Num_projet='".$_SESSION['code_projet']."';";

    Il faut ajouter dans la clause where :
    and Nom_inter='".$_SESSION['inter'][$i]."'

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/07/2010, 23h43
  2. Réponses: 7
    Dernier message: 07/05/2009, 17h32
  3. Problème insertion de données : parse error
    Par snaxisnake dans le forum Langage
    Réponses: 2
    Dernier message: 19/02/2008, 15h56
  4. [MySQL] Problème insertion de données dans table Mysql
    Par Malcolm78 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 24/10/2007, 17h25
  5. [SQL] Problème insertion dans Base SQL après saisie d'un formulaire
    Par Yagami_Raito dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 15/05/2007, 13h44

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