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 :

Soucis de modification BDD [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 149
    Points : 87
    Points
    87
    Par défaut Soucis de modification BDD
    Bonjour à tous et à toutes,
    J'ai un petit soucis sur une requête de modification ( qui doit modifier le contenue de 3 tables venants de la même BDD )
    ( l'id figure bien dans chaque table. )

    voici ma requête de modification :

    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
     
    $query=$bdd->prepare('UPDATE membres m INNER JOIN infos_membre i ON i.i_membre_id=m.membre_id INNER JOIN rs_membre r ON r.rs_membre_id=m.membre_id SET m.membre_mdp=:mdp, m.membre_mail=:mail, i.membre_nom=:nom, i.membre_prenom=:prenom, i.membre_naissance=:naissance, i.membre_siteweb=:siteweb, i.membre_localisation=:localisation, i.membre_signature=:signature, i.membre_biographie=:biographie, i.membre_profession=:profession, r.membre_facebook=:facebook, r.membre_twitter=:twitter, r.membre_tumblr=:tumblr, r.membre_flickr=:flickr, r.membre_fotolog=:fotolog, r.membre_pinterest=:pinterest, r.membre_googleplus=:googleplus WHERE m.membre_id=:id');
            $query->bindValue(':mdp',$pass,PDO::PARAM_STR);
            $query->bindValue(':mail',$email,PDO::PARAM_STR);
    		$query->bindValue(':nom',$nom,PDO::PARAM_STR);
            $query->bindValue(':prenom',$prenom,PDO::PARAM_STR);
    		$query->bindValue(':naissance',$naissance,PDO::PARAM_INT);
    		$query->bindValue(':siteweb',$siteweb,PDO::PARAM_STR);
    		$query->bindValue(':localisation',$localisation,PDO::PARAM_STR);
    		$query->bindValue(':signature',$signature,PDO::PARAM_STR);
    		$query->bindValue(':biographie',$biographie,PDO::PARAM_STR);
    		$query->bindValue(':profession',$profession,PDO::PARAM_STR);
    		$query->bindValue(':facebook',$facebook,PDO::PARAM_STR);
    		$query->bindValue(':twitter',$twitter,PDO::PARAM_STR);
    		$query->bindValue(':tumblr',$tumblr,PDO::PARAM_STR);
    		$query->bindValue(':fotolog',$fotolog,PDO::PARAM_STR);
    		$query->bindValue(':googleplus',$googleplus,PDO::PARAM_STR);
    		$query->bindValue(':pinterest',$pinterest,PDO::PARAM_STR);
    		$query->bindValue(':flickr',$flickr,PDO::PARAM_STR);
    		$query->bindValue(':id',$id,PDO::PARAM_INT);
            $query->execute();
    		$query->CloseCursor();

    Merci pour votre attention et votre aide.

  2. #2
    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
    Et le problème est que .... ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 149
    Points : 87
    Points
    87
    Par défaut
    que les modification des tables ne s'effectue pas :/, l'id est bien renseigné mais toutes les autres infos des tables sont vide ( excepté les les infos d'inscription )

  4. #4
    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
    Tu devrais vérifier que cette requête fonctionne :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * FROM membres m INNER JOIN infos_membre i ON i.i_membre_id=m.membre_id INNER JOIN rs_membre r ON r.rs_membre_id=m.membre_id
    WHERE id = xxxxx
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    Quelque chose qui peut être utile : utiliser le gestionnaire d'erreurs via Exception de PDO

    http://php.net/manual/fr/class.pdoexception.php
    Conception / Dev

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 149
    Points : 87
    Points
    87
    Par défaut
    Merci encore pour votre attention ^^
    Merci ascito ^^ j'utilise déjà un système de gestion d'erreur pdo pour ma connexion,
    concernant mes tables, si l'une d'entre elle n'est pas totalement rempli rien ne s'affiche :/
    oui précédemment j'avais utiliser cet requête qui fonctionnai sans soucis après avoir fait des modifications, elle ne fonctionne plus :s l'erreur peut-elle venir de mon formulaire d'insertion ?

    voici mon code de formulaire d'insertion :

    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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
     
    <?php session_start();
     echo '<div id="retourselect">
     <a href="voirprofil.php?action=consulter" title="recharger la page"><h1 class="titre1">'."Profil".'</h1></a>
     </div>';
    if (empty($_POST['sent'])) { // Si on la variable est vide, on peut considérer qu'on est sur la page de formulaire
     
        //On commence par s'assurer que le membre est connecté
        if (isset ($_SESSION['membre_id'])) {
     
            //On prend les infos principale (obligatoire) du membre
    		$id=($_SESSION['membre_id']);
            $query = $bdd->prepare('SELECT membre_pseudo, membre_mail, membre_avatar FROM membres WHERE membre_id=:id');
            $query->bindValue(':id', $id, PDO::PARAM_INT);
            $query->execute();
            $data = $query->fetch();
    		//On prend les infos secondaire du membre
    		$id2=($_SESSION['i_membre_id']);
            $query2 = $bdd->prepare('SELECT membre_nom, membre_prenom, membre_naissance, membre_signature, membre_siteweb, membre_biographie, membre_profession, membre_localisation FROM infos_membre WHERE i_membre_id=:id');
            $query2->bindValue(':id', $id2, PDO::PARAM_INT);
            $query2->execute();
            $data2 = $query2->fetch();
    		// On prend les infos réseaux sociaux du membre
    		$id3=($_SESSION['rs_membre_id']);
            $query3 = $bdd->prepare('SELECT membre_facebook, membre_twitter, membre_tumblr, membre_flickr, membre_pinterest, membre_fotolog, membre_googleplus FROM rs_membre WHERE rs_membre_id=:id');
            $query3->bindValue(':id', $id3, PDO::PARAM_INT);
            $query3->execute();
            $data3 = $query3->fetch();
            echo '<div id="infosmembre">';
            echo '<p class="textesimplegrisay">' . "Consulter votre : " . '<a href="voirprofil.php?action=consulter">' . "Profil" . '</a>';
            echo '<h1 class="textemoyengrisay">' . "Modification de votre profil" . '</h1>';
            echo '</div>';
     
            echo '<div id="infosmembre">';
            echo '<form method="post" action="voirprofil.php?action=modifier" enctype="multipart/form-data">
    
            <fieldset>
    		
    		<legend><p class="textesimplegrisay"><b>Identifiants</b></p></legend>
    		
            <div id="cadrepseu"><p class="classinscr">Pseudo : <strong>' . htmlspecialchars($data['membre_pseudo']) . '</strong></p></div>
    		
    		<p class="textesimplegrisay">Vous devez renseigner votre mot de passe pour valider la modification.</p>
    		
              <div id="cadrepseu"><p class="classinscr"><label for="mdp">Mot de Passe :</label><input type="password" name="mdp" id="pass" value="' . $data['membre_mdp'] . '" /></p></div>
    		  
    		  <p class="textesimplegrisay">La confirmation de votre mot de passe est essentiel pour la modification.</p>
    		  
            <div id="cadrepseu"><p class="classinscr"><label for="confirm">Confirmer le mot de passe :</label><input type="password" name="confirm" id="confirm" value="' . $data['membre_mdp'] . '"/></p></div>
    		
    		</fieldset>
    		<fieldset>
    		
    		<legend><p class="textesimplegrisay"><b>Informations secondaire</b></p></legend>
    		
    		<div id="cadrepseu"><p class="classinscr"><label for="nom">Votre Nom : </label><input type="text" name="nom" id="nom" value="' . $data2['membre_nom'] . '" /></p></div>
    		
    		<div id="cadrepseu"><p class="classinscr"><label for="prenom">Votre Prenom : </label><input type="text" name="prenom" id="prenom" value="' . $data2['membre_prenom'] . '" /></p></div>
    		
    		<p class="textesimplegrisay">Votre date de naissance doit figurer de la manière suivante : AAAA-MM-JJ.</p>
    		
    		<div id="cadrepseu"><p class="classinscr"><label for="naissance">Votre date de naissance : </label><input type="text" name="naissance" id="naissance" value="' . $data2['membre_naissance'] . '" /></p></div>
    		
    		<div id="cadrepseu"><p class="classinscr"><label for="siteweb">Votre site Web : </label><input type="text" name="siteweb" id="siteweb" value="' . $data2['membre_siteweb'] . '" /></p></div>
    		
    		<div id="cadrepseu"><p class="classinscr"><label for="localisation">Votre localisation : </label><input type="text" name="localisation" id="localisation" value="' . $data2['membre_localisation'] . '" /></p></div>
    		
    		<div id="cadrepseu"><p class="classinscr"><label for="signature">Votre signature : </label><input type="text" name="signature" id="signature" value="' . $data2['membre_signature'] . '" /></p></div>
    		
    		<div id="cadrepseu"><p class="classinscr"><label for="biographie">Votre biographie : </label><input type="text" name="biographie" id="biographie" value="' . $data2['membre_biographie'] . '" /></p></div>
    		
    		<div id="cadrepseu"><p class="classinscr"><label for="profession">Votre profession : </label><input type="text" name="profession" id="profession" value="' . $data2['membre_profession'] . '" /></p></div>
    		
            </fieldset>
    
            <fieldset>
    		
    		<legend><p class="textesimplegrisay"><b>Contacts</b></p></legend>
            <div id="cadrepseu"><p class="classinscr"><label for="email">Votre adresse E_Mail :</label>
            <input type="text" name="mail" id="email"
            value="' . $data['membre_mail'] . '" /></p></div>
    
            <fieldset><legend><p class="textesimplegrisay"><b>Profil sur le forum</b></p></legend>
    		<p class="textesimplegrisay">Votre image profil ne doit pas dépassé 500px sur 500px ( 10 Mo ).</p>
            <div id="cadrepseu"><p class="classinscr"><label for="membre_avatar">Changer votre avatar :</label>
            <input type="file" name="membre_avatar" id="membre_avatar" />
            (Taille max : 10 Mo)<br /><br />
            <label><input type="checkbox" name="delete" value="Delete" />
            Supprimer l avatar</label>
            Avatar actuel :
            <img src="./images/avatars/' . $data['membre_avatar'] . '"
            class="imgavatar" alt="aucun avatar" /></p></div>
    
    		</fieldset>
    		
    		<fieldset>
    		
    		<legend><p class="textesimplegrisay"><b>Réseaux Sociaux</b></p></legend>
    		
    		<div id="cadrepseu"><p class="classinscr"><label for="facebook">Votre adresse Facebook : </label><input type="text" name="facebook" id="facebook" value="' . $data3['membre_facebook'] . '" /></p></div>
    		
    		<div id="cadrepseu"><p class="classinscr"><label for="twitter">Votre adresse Twitter : </label><input type="text" name="twitter" id="twitter" value="' . $data3['membre_twitter'] . '" /></p></div>
    		
    		<div id="cadrepseu"><p class="classinscr"><label for="tumblr">Votre adresse Tumblr : </label><input type="text" name="tumblr" id="tumblr" value="' . $data3['membre_tumblr'] . '" /></p></div>
    		
    		<div id="cadrepseu"><p class="classinscr"><label for="flickr">Votre adresse Flickr : </label><input type="text" name="flickr" id="flickr" value="' . $data3['membre_flickr'] . '" /></p></div>
    		
    		<div id="cadrepseu"><p class="classinscr"><label for="pinterest">Votre adresse Pinterest : </label><input type="text" name="pinterest" id="pinterest" value="' . $data3['membre_pinterest'] . '" /></p></div>
    		
    		<div id="cadrepseu"><p class="classinscr"><label for="googleplus">Votre adresse Google Plus : </label><input type="text" name="googleplus" id="googleplus" value="' . $data3['membre_googleplus'] . '" /></p></div>
    		
    		<div id="cadrepseu"><p class="classinscr"><label for="fotolog">Votre adresse Fotolog : </label><input type="text" name="fotolog" id="fotolog" value="' . $data3['membre_fotolog'] . '" /></p></div>
    		
            </fieldset>
    		
            <p class="classinscr"><input type="submit" value="Modifier son profil" />
            <input type="hidden" id="sent" name="sent" value="1" />
            </p></form>';
     
            echo '</div>';
     
            $query->CloseCursor();
    		$query2->CloseCursor();
    		$query3->CloseCursor();
     
     
     
        } else {
            echo '<p class="texteerror">' . "Vous n'avez pas accès à cette page." . '</p>';
            echo '<p class="textewarning">' . "Vous devez être connecté pour accèder à cette page." . '</p>';
        }
    Merci encore pour votre aide et vos conseilles

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 149
    Points : 87
    Points
    87
    Par défaut
    Re,
    l'erreur venait bien des requêtes de modification,
    étant donnée que l'id est le même dans mes 2 tables, je n'ai laissé qu'une définition de variable sur les 2 ( $id et $id3, id3 étant été supprimé )
    $id est donc défini dans les 2 requêtes, et cela fonctionne

    Merci à tous d'avoir porté intérêt à mon problème ^^ sincèrement .

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

Discussions similaires

  1. Edition de l'affichage avec modification BDD
    Par ToxiK dans le forum jQuery
    Réponses: 16
    Dernier message: 14/01/2010, 02h16
  2. [MySQL] modification bdd + select bdd
    Par fasyr dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 14/04/2009, 14h57
  3. Soucis de modification de champ via formulaire
    Par symphyle dans le forum IHM
    Réponses: 3
    Dernier message: 13/01/2009, 20h59
  4. Vérifier modif BDD
    Par Gaetch dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 20/07/2007, 20h21
  5. Soucis avec une BDD paradox...
    Par barth69 dans le forum C++Builder
    Réponses: 38
    Dernier message: 28/05/2006, 22h38

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