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 d'un enregistrement [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2010
    Messages : 119
    Points : 77
    Points
    77
    Par défaut Modification d'un enregistrement
    Salut à tous.
    je suis bloqué sur mon code de modification d'un enregistrement.
    Je sélectionne l'enregistrement dans la base de données et cette selection se fait correctement sans erreur.
    je récupère le numéro d'identifiant que je met dans un champs imput de type hidden.
    je fait ma requête de modification en appelant la valeur du champs imput de type hidden. mais j'ai le message d'erreur suivant :
    Erreur:SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '( nom_agt = , pre_agt = , date_nais_agt = , lieu_nais_agt = , adr' at line 1
    voici mon 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
    <?php
         if (isset($_POST['Modifier']))
    	 {
     
    	try
    		{
    			include("connection_BICF_bd.php");
     
    /*cette requètte permet de modifier les infos sur l'agent */
     
    	$req = $bdd->exec("UPDATE agents SET (  
    	nom_agt = ".$_POST['nom'].", 
    	pre_agt = " . $_POST['prenom'] .", 
    	date_nais_agt = " . $_POST['datnaiss'] .", 
    	lieu_nais_agt = " . $_POST['lieunaiss'] .",
    	adres_agt = " . $_POST['adresse'] .",
    	cnt_agt = " . $_POST['contact'] .", 
    	email_agt= = " . $_POST['email'] .", 
            pseudo_agt= =  " . $_POST['pseudo'] .",
    	res_agt= = " . $_POST['residence'] .",  
    	mot_passe_agt= = " . $_POST['mot_passe'] .", 
    	img_agt= = " . $_POST['image'] .", 
    	sexe_agt= = " . $_POST['sexe'] .", 
    	sit_mat_agt= = " . $_POST['situation_m'] .", 
    	nationalite= = " . $_POST['nationalite'] .", 
    	date_pris_fonc= = " . $_POST['date_pris_fonc'] .", 
    	diplome= = " . $_POST['diplome'] .", 
    	service= = " . $_POST['service'] .", 
    	fonction= = " . $_POST['fonction'] ."
    	WHERE num_agt = " . $_POST['num_caché'] .")");
    	echo "<script langage='javascript'>alert('modification terminée avec succès ...');</script>";
    	    }
     
    	catch(Exception $e)
    		{
    			die('Erreur:'.$e->getMessage());
    		}
    	$req->closeCursor();
     
    }
    ?>
    Merci Pour votre aide

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2012
    Messages : 131
    Points : 242
    Points
    242
    Par défaut
    Salut,

    tu as pas besoin de mettre des parenthèses après SET

  3. #3
    Membre régulier
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2010
    Messages : 119
    Points : 77
    Points
    77
    Par défaut
    Merci selmouadin pour ta réponse,
    je pense qu'il y a des parenthèses après le SET ou bien selon toi comment je dois les mettre ?

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 73
    Points : 100
    Points
    100
    Par défaut
    Es tu sûr de cette syntaxe?

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    update table1 set (arg1=val1, arg2= = val2, ... where condition1=1)

    Je ne pense pas qu'il y est de parenthèse pour le UPDATE, et je ne suis pas sûr que l'opérateur "= =" soit juste.

  5. #5
    Membre averti Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Points : 386
    Points
    386
    Par défaut
    Je crois que quasiment tout est dit

    la parenthèse du SET, qui en plus englobe la condition

    l'opérateur == qui est un opérateur de comparaison et non un égal d'affectation

    Code php : 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
    <?php
         if (isset($_POST['Modifier']))
    	 {
     
    	try
    		{
    			include("connection_BICF_bd.php");
     
    /*cette requètte permet de modifier les infos sur l'agent */
     
    	$req = $bdd->exec("UPDATE agents SET   
    	nom_agt = ".$_POST['nom'].", 
    	pre_agt = " . $_POST['prenom'] .", 
    	date_nais_agt = " . $_POST['datnaiss'] .", 
    	lieu_nais_agt = " . $_POST['lieunaiss'] .",
    	adres_agt = " . $_POST['adresse'] .",
    	cnt_agt = " . $_POST['contact'] .", 
    	email_agt  = " . $_POST['email'] .", 
        pseudo_agt =  " . $_POST['pseudo'] .",
    	res_agt  = " . $_POST['residence'] .",  
    	mot_passe_agt  = " . $_POST['mot_passe'] .", 
    	img_agt  = " . $_POST['image'] .", 
    	sexe_agt  = " . $_POST['sexe'] .", 
    	sit_mat_agt  = " . $_POST['situation_m'] .", 
    	nationalite  = " . $_POST['nationalite'] .", 
    	date_pris_fonc  = " . $_POST['date_pris_fonc'] .", 
    	diplome  = " . $_POST['diplome'] .", 
    	service  = " . $_POST['service'] .", 
    	fonction  = " . $_POST['fonction'] ."
    	WHERE num_agt = " . $_POST['num_caché'] ."");
    	echo "<script langage='javascript'>alert('modification terminée avec succès ...');</script>";
    	    }
     
    	catch(Exception $e)
    		{
    			die('Erreur:'.$e->getMessage());
    		}
    	$req->closeCursor();
     
    }
    ?>

    Ça devrait mieux marcher

    Sinon, les $_POST direct dans la requête, c'est très fortement déconseillés
    c'est une grosse faille de sécurité.
    Quand une réponse vous aide
    Et quand ça marche

  6. #6
    Membre régulier
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2010
    Messages : 119
    Points : 77
    Points
    77
    Par défaut
    camyo j'ai suivi ton conseil en enlevant les $_POST direct dans la requête. J'ai affecté les valeurs des champs $_POST aux variables et ce sont ces variables qui sont exécutées dans ma requête. J'obtiens comme résultats :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<script langage='javascript'>alert('modification terminée avec succès ...');</script>";
    mais aucune modification dans la base de données.

    Voici le code complet :

    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
     
         if (isset($_POST['Modifier']))
    	 {
     
    	try
    		{
    	include("connection_BICF_bd.php");
       // On affecte les valeurs des champs imput aux variables
    	$nom = $_POST['nom'];
    	$prenom = $_POST['prenom']; 
    	$datnaiss = $_POST['datnaiss'];
    	$lieunaiss = $_POST['lieunaiss'];
    	$adresse = $_POST['adresse'];
    	$contact = $_POST['contact']; 
    	$email  = $_POST['email']; 
        $pseudo =  $_POST['pseudo'];
    	$residence  = $_POST['residence'];  
    	$mot_passe  = $_POST['mot_passe']; 
    	$image  = $_POST['image'];
    	$sexe  = $_POST['sexe'];
    	$situation_m  = $_POST['situation_m'];
    	$nationalite  = $_POST['nationalite'];
    	$date_pris_fonc  = $_POST['date_pris_fonc'];
    	$diplome  = $_POST['diplome']; 
    	$service  = $_POST['service']; 
    	$fonction  = $_POST['fonction'];
    	$num_caché = $_POST['num_caché'];
     
    	echo $prenom;
    	$req = $bdd->exec('UPDATE agents SET   
    	nom_agt = "$nom", 
    	pre_agt = "$prenom", 
    	date_nais_agt = "$datnaiss", 
    	lieu_nais_agt = "$lieunaiss",
    	adres_agt = "$adresse",
    	cnt_agt = "$contact", 
    	email_agt  = "$email", 
        pseudo_agt = "$pseudo",
    	res_agt  = "$residence",  
    	mot_passe_agt  = "$mot_passe", 
    	img_agt  = "$image", 
    	sexe_agt  = "$sexe", 
    	sit_mat_agt  = "$situation_m", 
    	nationalite  = "$nationalite", 
    	date_pris_fonc  = "$date_pris_fonc", 
    	diplome  = "$diplome", 
    	service  = "$service", 
    	fonction  = "$fonction"
    	WHERE num_agt = "$num_caché"');
     
    	echo "<script langage='javascript'>alert('modification terminée avec succès ...');</script>";
    	    }
     
    	catch(Exception $e)
    		{
    			die('Erreur:'.$e->getMessage());
    		}
     
    }
    ?>

  7. #7
    Membre averti Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Points : 386
    Points
    386
    Par défaut
    Je ne connais pas le contenu du ton include
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    include("connection_BICF_bd.php");
    Mais je me demandais ...

    Pourquoi
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = $bdd->exec('UPDATE agents SET
    Et non pas
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = $bdd->query('UPDATE agents SET

    ??
    Quand une réponse vous aide
    Et quand ça marche

  8. #8
    Membre régulier
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2010
    Messages : 119
    Points : 77
    Points
    77
    Par défaut
    Le contenu de mon include est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    try
    {
     $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
     $bdd = new PDO('mysql:host=localhost;dbname=XXXX_bd', 'root', '',$pdo_options);
    }
    catch (Exception $e)
    {
            die('Erreur : ' . $e->getMessage());
    }
    ?>
    Quand je remplece exec par query, le resultat est le même :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "<script langage='javascript'>alert('modification terminée avec succès ...');</script>";
    mais aucune modification sur l'enregistrement dans la base de données.

  9. #9
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 205
    Points : 409
    Points
    409
    Billets dans le blog
    1
    Par défaut
    Fais un var_dump() de ton $_POST en haut de ton script histoire de voir s'il est bien valorisé comme prévu ?
    Mettre des traces, y'a pas mieux pour débugger
    si ce post vous a été utile, si votre problème est résolu.
    Pensez-y !
    __________________________________
    Doc officielle PHP | FAQ PHP | Cours PHP

  10. #10
    Membre régulier
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2010
    Messages : 119
    Points : 77
    Points
    77
    Par défaut
    Lorsque le var_dump de mes $_POST et des variables est fait avant l'affectation des $_POST aux variables, je vois clairement leur contenu mais lorsque le var_dump est fait après l'affectation j'obtiens 0 comme résultat. Ce qui veut dire qu'après l'affectation les variables renvoient 0 à la requête d'où aucune modification sur l'enregistrement dans la base de données.

  11. #11
    Membre averti Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Points : 386
    Points
    386
    Par défaut
    J'vais peut être dire une c0nnerie
    Mais là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $num_caché = $_POST['num_caché'];
    Les variable et les post avec accents .. ça gênerais pas un peu . ?
    Quand une réponse vous aide
    Et quand ça marche

  12. #12
    Membre régulier
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2010
    Messages : 119
    Points : 77
    Points
    77
    Par défaut
    Je ne pense pas que ça gène. je les ai néanmoins changé mais j'ai toujours le même résultat.

  13. #13
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    @camyo : même si ça peut sembler étonnant et surtout que ça ne peut pas être considéré comme une bonne pratique, c'est néanmoins autorisé : http://www.php.net/manual/fr/languag...les.basics.php
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  14. #14
    Membre averti Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Points : 386
    Points
    386
    Par défaut
    @Bovino .. Je savais que c'était déconseillé, mais je me disais aussi que pour le nom de champs passé en post ça pouvait poser problème.. ( selon l'encodage )

    Toutefois, je pense qu'en inversant les simples quote (') et les doubles quote (") dans la requête y'a plus de chance pour que php interprète les variables

    Code php : 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
     
    <?php
     
         if (isset($_POST['Modifier']))
    	 {
     
    	try
    		{
    	include("connection_BICF_bd.php");
       // On affecte les valeurs des champs imput aux variables
    	$nom = $_POST['nom'];
    	$prenom = $_POST['prenom']; 
    	$datnaiss = $_POST['datnaiss'];
    	$lieunaiss = $_POST['lieunaiss'];
    	$adresse = $_POST['adresse'];
    	$contact = $_POST['contact']; 
    	$email  = $_POST['email']; 
        $pseudo =  $_POST['pseudo'];
    	$residence  = $_POST['residence'];  
    	$mot_passe  = $_POST['mot_passe']; 
    	$image  = $_POST['image'];
    	$sexe  = $_POST['sexe'];
    	$situation_m  = $_POST['situation_m'];
    	$nationalite  = $_POST['nationalite'];
    	$date_pris_fonc  = $_POST['date_pris_fonc'];
    	$diplome  = $_POST['diplome']; 
    	$service  = $_POST['service']; 
    	$fonction  = $_POST['fonction'];
    	$num_caché = $_POST['num_caché'];
     
    	echo $prenom;
    	$req = $bdd->exec("UPDATE agents SET   
    	nom_agt = '$nom', 
    	pre_agt = '$prenom', 
    	date_nais_agt = '$datnaiss', 
    	lieu_nais_agt = '$lieunaiss',
    	adres_agt = '$adresse',
    	cnt_agt = '$contact', 
    	email_agt  = '$email', 
        pseudo_agt = '$pseudo',
    	res_agt  = '$residence',  
    	mot_passe_agt  = '$mot_passe', 
    	img_agt  = '$image', 
    	sexe_agt  = '$sexe', 
    	sit_mat_agt  = '$situation_m', 
    	nationalite  = '$nationalite', 
    	date_pris_fonc  = '$date_pris_fonc', 
    	diplome  = '$diplome', 
    	service  = '$service', 
    	fonction  = '$fonction'
    	WHERE num_agt = '$num_caché'");
     
    	echo "<script langage='javascript'>alert('modification terminée avec succès ...');</script>";
    	    }
     
    	catch(Exception $e)
    		{
    			die('Erreur:'.$e->getMessage());
    		}
     
    }
    ?>
    Quand une réponse vous aide
    Et quand ça marche

  15. #15
    Membre régulier
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2010
    Messages : 119
    Points : 77
    Points
    77
    Par défaut
    Après contrôle de tout le code, le constat que je fais c'est qu'après l'affectation des valeurs $_POST aux variables, les variables sont toujours vides d'où la clause where point sur un num_agt = '$num_cache' vide. Donc on arrive à la requete avec variables vides alors le resultat sera aucune modification sur l'enregistrement

    La question que je me pose est celle de savoir pourquoi mes variables peuvent etre vides après l'affectation ??

  16. #16
    Membre averti Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Points : 386
    Points
    386
    Par défaut
    Par simple curiosité,
    tu voudrais bien afficher le var_dump de tes $_POST ..

    Il doit certainement y avoir une erreur quelque part .
    Quand une réponse vous aide
    Et quand ça marche

  17. #17
    Membre régulier
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2010
    Messages : 119
    Points : 77
    Points
    77
    Par défaut
    La solution a été trouvée,
    je recupère d'abord le numero identifiant de l'agent à travers la methode $_GET et j'affiche les résultats dans les champs. voici le premier 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
     
    if(isset($_GET['modifier']))
    	      {
    		     try
    			 {
    	      $code=$_GET['modifier'];
            include("connection_BICF_bd.php");
            $reponse2 = $bdd->query('SELECT * from agents where num_agt="'.$_GET['modifier'].'"')or die(mysql_error());     ;
    		$donnees = $reponse2->fetch();
    		if ($donnees)
    						  {
    			           $num_cache=$donnees['num_agt'];
    					   $nom=$donnees['nom_agt'];
    		           	   $prenom= $donnees['pre_agt'];
    			           $datnaiss=$donnees['date_nais_agt'];
    			           $lieunaiss=$donnees['lieu_nais_agt'];
    			           $adresse= $donnees['adres_agt'];
    			           $contact=$donnees['cnt_agt'];
    					   $email = $donnees['email_agt'];
    					   $pseudo = $donnees['pseudo_agt']; 	
    					   $residence = $donnees['res_agt']; 
    					   $mot_passe = $donnees['mot_passe_agt']; 
    					   $image = $donnees['img_agt']; 
    					   $sexe=$donnees['sexe_agt'];
    					   $situation_m=$donnees['sit_mat_agt'];
    			           $nationalite=$donnees['nationalite'];
    					   $date_pris_fonc=$donnees['date_pris_fonc'];
    					   $diplome=$donnees['diplome'];
    					   $service=$donnees['service'];
    					   $fonction=$donnees['fonction'];
    					   }
    			}
    			       catch(Exception $e)
                        {
                       // En cas d'erreur précédemment, on affiche un message et on arrête tout
                          die('Erreur : '.$e->getMessage());
                         }
    		}
     
    	 ?>
    Ensuite je modifie en récupérant les infos présentes dans les champs à travers la méthode $_POST. Voici le code 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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    <?php
     
      if(isset($_POST['nom'])) 
      //and (isset($_POST['prenom'])) and (isset($_POST['lieunaiss'])) and (isset($_POST['adresse'])) and (isset($_POST['contacts'])) )
      {
    	try
    		{ 
    	include("connection_BICF_bd.php");
        $req = $bdd->query("UPDATE agents SET   
    	nom_agt = '" . $_POST['nom'] . "', 
    	pre_agt = '" . $_POST['prenom'] . "', 
    	date_nais_agt = '" . $_POST['datnaiss'] . "', 
    	lieu_nais_agt ='" . $_POST['lieunaiss'] . "',
    	adres_agt ='" . $_POST['adresse'] . "',
    	cnt_agt = '" . $_POST['contacts'] . "', 
    	email_agt  = '" . $_POST['Email'] . "', 
        pseudo_agt ='" . $_POST['Pseudo'] . "',
    	res_agt  = '" . $_POST['residence'] . "',  
    	mot_passe_agt  = '" . $_POST['mot_passe'] . "', 
    	img_agt  ='" . $_POST['image'] . "', 
    	sexe_agt  = '" . $_POST['sexe'] . "', 
    	sit_mat_agt  ='" . $_POST['situation_m'] . "', 
    	nationalite  ='" . $_POST['nationalite'] . "', 
    	date_pris_fonc  ='" . $_POST['date_pris_fonc'] . "', 
    	diplome  = '" . $_POST['diplome'] . "', 
    	service  ='" . $_POST['service'] . "', 
    	fonction  = '" . $_POST['fonction'] . "'
    	WHERE num_agt = '" . $_POST['num_cache'] . "'");
    	echo "<script langage='javascript'>alert('modification terminée avec succès ...');</script>";
     
    	    }
     
    	catch(Exception $e)
    		{
    			die('Erreur:'.$e->getMessage());
    		}
    }
    ?>
    Merci à tous pour votre aide

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

Discussions similaires

  1. modification d'un enregistrement par une requete
    Par tzinzin dans le forum Access
    Réponses: 7
    Dernier message: 23/03/2006, 20h36
  2. date de modification d'un enregistrement
    Par xycoco dans le forum Access
    Réponses: 3
    Dernier message: 15/11/2005, 21h47
  3. [IBquery]modification manuelle d'enregistrement
    Par dudux dans le forum Bases de données
    Réponses: 5
    Dernier message: 27/06/2005, 20h53
  4. TDBlookupcombo et modification d'un enregistrement existant
    Par delphim dans le forum Bases de données
    Réponses: 1
    Dernier message: 19/04/2005, 12h11
  5. Gestion des modifications pour un enregistrement
    Par Pascal Jankowski dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/03/2004, 14h09

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