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 :

modification dans bdd


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 121
    Par défaut modification dans bdd
    Bonjour,

    J’aimerais de l’aide pour la modification de clients rentrés dans une bdd.

    A l’affichage des clients, sous chaque client, je mets un lien « supprimer » et « modifier ».

    J’aimerais qu’en cliquant sur ce lien « modifier » on puisse modifier les infos relatives au client.

    J’ai essayé un code d’après un tuto. Ma première erreur est la suivante :


    Erreur SQL !
    SELECT FROM comptes_utilisateurs WHERE ID_Utilisateur=47
    Erreur de syntaxe près de 'FROM comptes_utilisateurs WHERE ID_Utilisateur=47' à la ligne 1



    Voici le code mis sur ce lien « modifier » dans la page affichage des clients :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<a href="modifier.php?action=modifier&ID_Utilisateur='.$affichage["ID_Utilisateur"].'">Modifier</a><hr>';
    Voici ma page modifier.php

    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
    <?php
    $sql["serveur"]='localhost';
    $sql["login"]='aaa';
    $sql["pass"]='aaa';
    $sql["base"]='tuto';
     
    $sql["connect"]=mysql_connect($sql["serveur"],$sql["login"],$sql["pass"])or die ("impossible de se connecter, réessayé plus tard");
    $sql["select_base"]=mysql_select_db($sql["base"],$sql["connect"])or die ("erreur de connexion base");
     
     
    $sql["connect"];
    $sql["select_base"];
     
     
     
    $action=$_GET['action'];
    $ident=$_GET['ID_Utilisateur'];
     
    if ($action=="modifier")
    {
    	//Fait en sorte que l'enregistrement $ident est supprimé
     
    	$table = "comptes_utilisateurs";
     
     
    	$sql = "SELECT FROM " . $table . " WHERE ID_Utilisateur=" . $ident;
    	$req = mysql_query($sql) or die('<br>Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    	if($result=mysql_fetch_object($req))
    	{
    	?>
    	<form name="insertion" action="modification3.php" method="post">
    	<input type="hidden" name="ident" value="<?php echo($ident);?>" />
    	<table>
    	 <tr>
        <td>Société :</td>
        <td><input type="text" name="Societe" value="<?php echo($result->Societe);?>" /></td>
      </tr>
      <tr>
        <td>Nom :</td>
        <td><input type="text" name="Nom" value="<?php echo($result->Nom);?>" /></td> 
      </tr>
      <tr>
        <td>Adresse :</td>
        <td><input type="text" name="Adresse" value="<?php echo($result->Adresse);?>" /></td>
      </tr>
      <tr>
        <td>Tel :</td>
        <td><input type="text" name="Tel" value="<?php echo($result->Tel);?>" /></td>
      </tr>
      <tr>
        <td>Fax :</td>
        <td><input type="text" name="Fax" value="<?php echo($result->Fax);?>" /></td>
      </tr>
      <tr>
        <td>E-mail : </td>
        <td><input type="text" name="Adresse_Email" value="<?php echo($result->Adresse_Email);?>" /></td>
      </tr>
      <tr>
        <td>Login: </td>
        <td><input type="text" name="Nom_Utilisateur" value="<?php echo($result->Nom_Utilisateur);?>" /></td>
      </tr>
      <tr>
        <td>Mot de passe : </td>
        <td><input type="text" name="Mot_de_Passe" value="<?php echo($result->Mot_de_Passe);?>" /></td>
      </tr>
    </table>
    </form>
    <?php
     
    	mysql_close();
    	echo '<center> Le client a bien été effacé.<br>
    	<a href="' . 'affichemembre.php"'.'>Retour</a></center>';
    }
    }
    else echo "On va faire autre chose";
    ?>

  2. #2
    Inactif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 179
    Par défaut
    Faut un truc entre SELECT et FROM.

  3. #3
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 63
    Par défaut
    oui, tu ne précises pas ce que tu sélectionne.
    SELECT *, SELECT nom ... tout dépend de l'info(s) que tu veux récupérer

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 121
    Par défaut
    ah ben oui, quelle idiote.

    bon alors maintenant, j'accède à mes données à modifier avec formulaire.
    Mais il n'y a rien d'autre. J'ai donc rajouté un lien vers ma page "modification3.php" comme indiqué sur le tuto.

    et là, c'est l'horreur :


    Notice: Undefined index: Societe in c:\program files\easyphp1-8\www\imprimerie fiumorbu\imprimerie\modification3.php on line 14

    Notice: Undefined index: Nom in c:\program files\easyphp1-8\www\imprimerie fiumorbu\imprimerie\modification3.php on line 15

    Notice: Undefined index: Adresse in c:\program files\easyphp1-8\www\imprimerie fiumorbu\imprimerie\modification3.php on line 16

    Notice: Undefined index: Tel in c:\program files\easyphp1-8\www\imprimerie fiumorbu\imprimerie\modification3.php on line 17

    Notice: Undefined index: Fax in c:\program files\easyphp1-8\www\imprimerie fiumorbu\imprimerie\modification3.php on line 18

    Notice: Undefined index: Adresse_Email in c:\program files\easyphp1-8\www\imprimerie fiumorbu\imprimerie\modification3.php on line 19

    Notice: Undefined index: Nom_Utilisateur in c:\program files\easyphp1-8\www\imprimerie fiumorbu\imprimerie\modification3.php on line 20

    Notice: Undefined index: Mot_de_Passe in c:\program files\easyphp1-8\www\imprimerie fiumorbu\imprimerie\modification3.php on line 21

    Notice: Undefined index: ID_Utilisateur in c:\program files\easyphp1-8\www\imprimerie fiumorbu\imprimerie\modification3.php on line 22

    Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in c:\program files\easyphp1-8\www\imprimerie fiumorbu\imprimerie\modification3.php on line 35



    Et voici ma page “modification3.php”:

    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
    <?php
    //connection au serveur et base de données
    $sql["serveur"]='localhost';
    $sql["login"]='aaa';
    $sql["pass"]='aaa';
    $sql["base"]='tuto';
     
    $sql["connect"]=mysql_connect($sql["serveur"],$sql["login"],$sql["pass"])or die ("impossible de se connecter, réessayé plus tard");
    $sql["select_base"]=mysql_select_db($sql["base"],$sql["connect"])or die ("erreur de connexion base");
     
     
    //recuperation des valeurs des champs
     
    $Societe=$_POST["Societe"];
    $Nom=$_POST["Nom"];
    $Adresse=$_POST["Adresse"];
    $Tel=$_POST["Tel"];
    $Fax=$_POST["Fax"];
    $Adresse_Email=$_POST["Adresse_Email"];
    $Nom_Utilisateur=$_POST["Nom_Utilisateur"];
    $Mot_de_Passe=$_POST["Mot_de_Passe"];
    $ID_Utilisateur=$_POST["ID_Utilisateur"];
     
    //Creation de la requete SQL
     
    $sq="UPDATE comptes_utilisateurs SET Societe='$Societe';
    									Nom = '$Nom';
    									Adresse ='$Adresse';
    									Tel='$Tel';
    									Fax='$Fax';
    									Adresse_Email='$Adresse_Email';
    									Nom_Utilisateur='$Nom_Utilisateur';
    									Mot_de_Passe='$Mot_de_Passe';
    									WHERE ID_Utilisateur='$ID_Utilisateur'";
    $requete=mysql_query($sq,$sql) or die (mysql_error());
     
    // Affichage des resultats
     
    if{$requete)
    {
    echo("modif ok");
    }
    else
    {
    echo ("probleme");
    }
    ?>

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    A priori, ta série d'erreurs signifie que les champs n'ont pas été postés. Ce code est bien exécuté à l'arrivée d'un formulaire ? essayes de faire un var_dump($_POST) pour savoir ce que le formulaire envoie réellement.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 121
    Par défaut
    Citation Envoyé par Celira Voir le message
    Ce code est bien exécuté à l'arrivée d'un formulaire ?
    euh oui je crois

    Citation Envoyé par Celira Voir le message
    essayes de faire un var_dump($_POST) pour savoir ce que le formulaire envoie réellement.
    Où je le mets ce "var_dump" ? (je suis débutante en php et pas douée)

  7. #7
    Membre éclairé Avatar de remyli
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 270
    Par défaut
    Je te conseil de modifier ton code ainsi.
    note l'utilisation de la fonction mysql_real_escape_string();


    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
    <?php
    //connection au serveur et base de données
    $sql["serveur"]='localhost';
    $sql["login"]='aaa';
    $sql["pass"]='aaa';
    $sql["base"]='tuto';
     
    $sql["connect"]=mysql_connect($sql["serveur"],$sql["login"],$sql["pass"])or die ("impossible de se connecter, réessayé plus tard");
    $sql["select_base"]=mysql_select_db($sql["base"],$sql["connect"])or die ("erreur de connexion base");
     
     
    //affichage des données transmissent au script.
     
    echo '<pre>';
    var_dump($_POST);
    echo '</pre>';
     
     
    //recuperation des valeurs des champs
     
    $Societe=$_POST["Societe"];
    $Nom=$_POST["Nom"];
    $Adresse=$_POST["Adresse"];
    $Tel=$_POST["Tel"];
    $Fax=$_POST["Fax"];
    $Adresse_Email=$_POST["Adresse_Email"];
    $Nom_Utilisateur=$_POST["Nom_Utilisateur"];
    $Mot_de_Passe=$_POST["Mot_de_Passe"];
    $ID_Utilisateur=$_POST["ID_Utilisateur"];
     
     
    //Creation de la requete SQL
     
    $sq="UPDATE comptes_utilisateurs SET 
    Societe ='".mysql_real_escape_string($Societe)."';
    Nom = '".mysql_real_escape_string($Nom)."';
    Adresse ='".mysql_real_escape_string($Adresse)."';
    Tel ='".mysql_real_escape_string($Tel)."';
    Fax ='".mysql_real_escape_string($Fax)."';
    Adresse_Email ='".mysql_real_escape_string($Adresse_Email)."';
    Nom_Utilisateur ='".mysql_real_escape_string($Nom_Utilisateur)."';
    Mot_de_Passe ='".mysql_real_escape_string($Mot_de_Passe)."';
    WHERE ID_Utilisateur ='".mysql_real_escape_string($ID_Utilisateur)."' ";
     
     
    //envoie de la requete
     
    $requete=mysql_query($sq,$sql) or die (mysql_error());
     
     
    // Affichage des resultats
     
    if{$requete)
    {
    echo("modif ok");
    }
    else
    {
    echo ("probleme");
    }
    ?>



    Mais je pense que ton vrai problème viens du fait qu'il manque le bouton submit dans ton formulaire.


Discussions similaires

  1. [MySQL] Modification dans la Bdd à distance
    Par toutoune95800 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 09/05/2013, 20h48
  2. [Débutant] Enregistrement, Modification dans une BDD
    Par Nikko42 dans le forum VB.NET
    Réponses: 14
    Dernier message: 07/12/2011, 09h05
  3. [MySQL] Ajout et modification dans ma bdd
    Par polux31 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 17/02/2011, 09h07
  4. jLabel et modification dans une bdd
    Par jbmen dans le forum JBuilder
    Réponses: 1
    Dernier message: 23/04/2008, 00h46
  5. delete ajout modif dans la BDD
    Par jojojojo57 dans le forum Bases de données
    Réponses: 8
    Dernier message: 19/03/2007, 20h38

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