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 :

programme PHP UPDATE


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2017
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juin 2017
    Messages : 47
    Points : 29
    Points
    29
    Par défaut programme PHP UPDATE
    Bonjours,

    J'ai un souci avec mon problème j'aimerais votre aide pour m'aider à résoudre celui-ci problème.

    Je rentre ceci dans ma base de données :

    Nom : Capturedark.PNG
Affichages : 102
Taille : 5,4 Ko

    Le soucie étant que lors de l'update categorie ce change en 0 dans ma base de donnée et je ne trouve pas pourquoi ...

    Nom : capture_base.PNG
Affichages : 102
Taille : 29,8 Ko

    le code

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    <?php
    if(isset($_POST['Import'])) {
     try {
      $pdo_extraParams = array(
             PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,    // rapport d'erreurs sous forme d'exceptions
             PDO::ATTR_PERSISTENT => true,             // Connexions persistantes
             PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"  // encodage UTF-8
             );
      if(!isset($_FILES['file'])) throw new RuntimeException('Formulaire erronné');
      if($_FILES['file']['error'] !== 0) throw new RuntimeException("Erreur à la réception du fichier");
      $pdo = new PDO('mysql:host=localhost;dbname=gestion_compte;charset=utf8', 'root', '', $pdo_extraParams);
      $pdo->beginTransaction();
      $file = fopen($_FILES["file"]["tmp_name"], "r");
      fgetcsv($file, 767, ";");
      $stmt_select = $pdo->prepare('SELECT COUNT(*) FROM conge  WHERE nom_dusage = :nom AND prenom = :prenom AND date_naissance = :naissance;');
      $stmt_insert = $pdo->prepare('INSERT INTO conge(nom_dusage, prenom, nom_famille, date_naissance, categorie, grade) VALUES (:nom, :prenom, :famille, :naissance, :categorie, :grade);');
      $stmt_update = $pdo->prepare('UPDATE conge SET categorie = :categorie AND grade = :grade WHERE nom_dusage = :nom AND prenom = :prenom AND date_naissance = :naissance;');
      foreach([$stmt_select, $stmt_update, $stmt_insert] as $k => $stmt) {
       $stmt->bindParam(':nom', $nom, PDO::PARAM_STR);
       $stmt->bindParam(':prenom', $prenom, PDO::PARAM_STR);
       $stmt->bindParam(':naissance', $naissance, PDO::PARAM_STR);
       if($k == 0) continue;
       elseif($k == 2)
         $stmt->bindParam(':famille', $famille, PDO::PARAM_STR);
       $stmt->bindParam(':categorie', $categorie, PDO::PARAM_STR);
       $stmt->bindParam(':grade', $grade, PDO::PARAM_STR);
     }
     while (($getData = fgetcsv($file, 767, ";")) !== FALSE) {
       list($nom, $prenom, $famille, $naissance, $categorie, $grade) = $getData;
       $stmt_select->execute();
       if($stmt_select->fetchColumn())
       {  
        $stmt_update->execute();
        echo "update fait";
      }
      else
      {
        $stmt_insert->execute();
        echo "insert fait";
      }
    }
    $pdo->commit();
    fclose($file);
    $msg = 'Succès';
    }
    catch(PDOException $ex) {
      if(isset($pdo) and ($pdo instanceof PDO) and $pdo->inTransaction())
       $pdo->rollBack();
     error_log($ex->getMessage());
     $msg = "Erreur dans la base de données";
    }
    catch(RuntimeException $ex) {
      $msg = $ex->getMessage();
    }
    echo $msg;
    }

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Citation Envoyé par florianx2012 Voir le message
    ...J'ai un souci avec mon problème...
    J'aime beaucoup la formule !

    Bon.
    Cela dit, évite de nous fournir du code sans commentaires dedans *, et/ou sans un minimum d'explications.

    * ces commentaires te seront aussi utiles A TOI, plus tard, quand tu voudras reprendre/modifier ton code...

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Au pif, ta colonne category a un type numérique.

    Au passage, ton code est toujours autant un défi à la logique. Une règle d'or est de faire simple, simple, simple.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Nouveau membre du Club
    Femme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2017
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juin 2017
    Messages : 47
    Points : 29
    Points
    29
    Par défaut
    C’est bon j'ai réussis !

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

Discussions similaires

  1. [2.x] problème avec php composer.phar update
    Par zoub0 dans le forum Symfony
    Réponses: 2
    Dernier message: 08/01/2014, 19h34
  2. Problème : Script PHP IE NOK Firefox OK
    Par Saiyan dans le forum Langage
    Réponses: 40
    Dernier message: 15/11/2005, 23h59
  3. [Système] recupere resultat d'un programme php
    Par naourass dans le forum Langage
    Réponses: 4
    Dernier message: 25/10/2005, 14h14
  4. Problème programmation objet
    Par Contrec dans le forum MFC
    Réponses: 54
    Dernier message: 30/03/2005, 11h30

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