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 :

Mise à jour de plusieurs tables


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Par défaut Mise à jour de plusieurs tables
    bonjour

    j'ai fait un espace membre qui permet de modifier son mail et son mot de passe.

    deux tables mysql sont utilisées
    table tbl_user
    table gites

    ces deux tables sont liées grace au mail de l'utilisateur :
    champ login de la table tbl_user et champ mailProprio de la table gites


    j'arrive bien grace a un formulaire a changer le login (mail) dans la table tbl_user mais j'aimerai pouvoir aussi modifier les enregsitrements de la table gites dont le mailProprio correspondait au mail avant modifcation de la table tbl_user

    voici le code:

    page modifMail
    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
     
    $sql = "SELECT idmembre,login,pwd FROM tbl_user where login='".$_SESSION['login']."'";
        //exécution de la requête:
    $requete = mysql_query( $sql, $base ) ;
     
    <form name="formulaire" method="post" action="validModifIdentifiants.php" ">
    <?php
    while($data = mysql_fetch_assoc($requete))
        {
    echo "<tr><td>Login</td><td><input type=text name=login ></td><td>".$data['login']."</td></tr>";
    echo "<tr><td>&nbsp;</td></tr>";
    echo "<tr><td>Mot de passe</td><td><input type=text name=pwd ' ></td><td>".$data['pwd']."</td></tr>";
    echo "<input type=hidden name=idmembre value='".$data['idmembre']."'>";
    echo "<tr><td colspan=3 align=center><input type=submit value=modifier></td></tr>"; 
      $_SESSION['loginAncien']=$data['login'];
    echo $_SESSION['loginAncien'];  }
     
    // on ferme la connexion à mysql
    mysql_close();
    ?>
    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
     
    et voici la page de traitement
    $loginNouveau=$_POST['login'];
    $pwd=$_POST['pwd'];
    $idmembre=$_POST['idmembre'];
    echo $_SESSION['loginAncien']
     
    $sql=mysql_query("UPDATE  tbl_user  SET  login='$loginNouveau', pwd='$pwd'  WHERE idmembre='$idmembre'");
     
      echo 'Vos données  ont bien été modifiées.<BR>';
     
       if (!$sql) {
        die('Requête invalide : ' . mysql_error());
    }
     
        mysql_close(); 
    ?>



    je voulais faire cette requete mais ca ne marche pas

    UPDATE gites set mailProprio=$loginNouveau where mailProprio=$_SESSION['login']

    je vous remercie par avance pour 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
    Par défaut
    pourrais-tu être plus précis que "ca ne marche pas" ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Par défaut
    en fait j'aimerai que lorsque la personne change le mail, que cela mettre a jour son mail dans la table tbl_user et tous les enregistrements de la personne dans la table gites

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Par défaut
    bonjour je vais essayé d'etre plus précis dans ma demande

    sur mon site, j'ai un espace membre
    -> la personne se connecte via son login et mot de passe qui sont stockés dans la table tbl_user

    -> la personne peut a tout moment modifier ses identifiants via un formulaire et cela est mis a jour dans cette table

    -> jusqua la , j'ai su mettre en place la procédure

    -> ce qui se complique:
    j'ai une table gites dans laquelle il y a deux nombreux enregistrements
    les tables tbl_user et gites sont liées par le mail de la personne
    une personne peut avoir plusieuurs annonces dans la table gites

    comment faire avec un update multitable pour lorsque la personne modifie son mail, cela met à jour dans la table tbl_user et également ses annonces dans la table gites

    j'ai fait deux updates différents mais cela ne fonctionne pas:

    code de la page verification formulaire
    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
     
    $loginNouveau=$_POST['login'];
    $pwd=$_POST['pwd'];
    $idmembre=$_POST['idmembre'];
     
     
    $sql=mysql_query("UPDATE  tbl_user  SET  login='$loginNouveau', pwd='$pwd'  WHERE idmembre='$idmembre'");
     
      echo 'Vos données  ont bien été modifiées.<BR>';
     
       if (!$sql) {
        die('Requête invalide : ' . mysql_error());
    }
     
     
    $sql2=mysql_query("UPDATE  gites  SET  login='".$loginNouveau."' WHERE login='".$_SESSION['loginAncien']."'");
    echo 'Vos données  ont bien été modifiées.<BR>';
     
       if (!$sql) {
        die('Requête invalide : ' . mysql_error());
    }
    dans la page de modification des identifiants:

    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
     
    $sql = "SELECT idmembre,login,pwd FROM tbl_user where login='".$_SESSION['login']."'";
    $sql2 = "SELECT loginFROM gites where login='".$_SESSION['login']."' group by login";
     
    <table>
    <form name="formulaire" method="post" >
    <?php
    while($data = mysql_fetch_assoc($requete))
        {
    echo "<tr><td>Login</td><td><input type=text name=login ></td><td>".$data['login']."</td></tr>";
    echo "<tr><td>&nbsp;</td></tr>";
    echo "<tr><td>Mot de passe</td><td><input type=text name=pwd ></td><td>".$data['pwd']."</td></tr>";
    echo "<input type=hidden name=idmembre value='".$data['idmembre']."'>";
    echo "<tr><td colspan=3 align=center><input type=submit value=modifier></td></tr>"; 
      $_SESSION['loginAncien']=$data['login'];
       }
     
    // on ferme la connexion à mysql
    mysql_close();
    ?> </form></table>

Discussions similaires

  1. [AC-2003] Mise à jour de plusieurs table à partir d'un fichier Excel
    Par jubourbon dans le forum Modélisation
    Réponses: 2
    Dernier message: 26/09/2011, 16h46
  2. Mise à jour de plusieurs champs de plusieurs Tables
    Par Chakalaka dans le forum Langage SQL
    Réponses: 3
    Dernier message: 10/03/2011, 17h02
  3. Mise à jour de plusieurs tables
    Par Viniraptor dans le forum ASP.NET
    Réponses: 1
    Dernier message: 27/01/2009, 16h15
  4. Mise a jour de plusieur tables
    Par neuneu1 dans le forum Bases de données
    Réponses: 3
    Dernier message: 22/11/2007, 00h33
  5. Mise à jour de plusieurs tables
    Par NAMORJOSE dans le forum Access
    Réponses: 1
    Dernier message: 19/11/2005, 08h33

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