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 :

updater une donnée [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 54
    Par défaut updater une donnée
    Bonjour,
    Voilà j'ai un form pour modifier, supprimer et ajouter des données.
    Mon problème est que quand je modifie une donnée et que je mets mise a jour, il me change le premier de la liste et non la donnée sélectionnée.
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    <link href="includes/info.css" rel="stylesheet" type="text/css" />
    <?php
     
        require("includes/Connexion.php");
     
     
    	$today = date ('Y-m-d');
    	$time = date ('G:i:s');
    	$Nom = addslashes($Nom);
    	$Prenom = addslashes($Prenom);
     
    	echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
    	echo "<form name='insert' method='post' action='admin.php'>";
     
    	if ($pbSubmit == 'Ajouter') {
    		$requete = "INSERT INTO NewColab (Nom, Prenom) VALUES ('$Nom', '$Prenom')";
      		$result = mysql_query ($requete) or ezine_mysql_die();
    		echo "<SCRIPT LANGUAGE=JavaScript> alert('L''NewColab a été commandé');</SCRIPT>";
    	}
    	elseif ($pbSubmit == 'Modifier'){
    		$requete = "SELECT * FROM NewColab WHERE id='$id'";
      		$result = mysql_query ($requete) or ezine_mysql_die();
      		$liste =mysql_fetch_object($result);
      		mysql_free_result($result);
    	}
    	elseif ($pbSubmit == 'Mettre à jour'){
    $requete = "UPDATE NewColab SET Nom = '$Nom', Prenom = '$Prenom' WHERE id = '$id'";
    		$result = mysql_query ($requete) or ezine_mysql_die();
    	}
    	elseif ($pbSubmit == 'Supprimer'){
    		$requete = "DELETE FROM NewColab WHERE id = '$id'";
    		$result = mysql_query ($requete) or ezine_mysql_die();
    		echo "<SCRIPT LANGUAGE=JavaScript> alert('L''abonné a été supprimé');</SCRIPT>";		
    	}
     
    	echo "<tr><td width='180' align='right'></td><td width='20'>&nbsp;</td><td width='600' class='style'><b>Modifier / Supprimer un abonné</b></td></tr>";
    	echo "<tr><td height='20'></td><td></td><td></td></tr>";
    	echo "<tr><td height='20' class='style' align='right'><b>Abonné</b></td><td></td><td>";
    	echo "<select name='id'>";
     
    	$requete = "SELECT * FROM NewColab ORDER BY Nom ASC";
      	$result = mysql_query ($requete) or ezine_mysql_die();
      	while ($listeTitres = mysql_fetch_object($result)) {
    		echo "<option value='$listeTitres->id'>$listeTitres->Nom&nbsp;$listeTitres->Prenom</option>";
    	}
    	echo "</select>";
    	echo "</td></tr>";
    	echo "<tr><td height='20'></td><td></td><td></td></tr>";
    	echo "<tr><td height='20'></td><td></td><td><input type='submit' name='pbSubmit' value='Modifier'> <input type='submit' name='pbSubmit' value='Supprimer'> <input type='submit' name='pbSubmit' value='Mettre à jour'> <input type='submit' name='pbSubmit' value='Ajouter'></td></tr>";
    	echo "<tr><td height='40'></td><td></td><td></td></tr>";
        echo "<tr><td height='20'></td><td></td><td></td></tr>";
    	echo "<tr><td height='20' class='texte' align='left'>Nom</td><td></td><td><textarea name='Nom' cols='35' rows='1'>$liste->Nom</textarea></td></tr>";
    	echo "<tr><td height='20'></td><td></td><td></td></tr>";
    	echo "<tr><td height='20' class='texte' align='left'>Prénom</td><td></td><td><textarea name='Prenom' cols='35' rows='1'>$liste->Prenom</textarea></td></tr>";
    	echo "<tr><td height='20'></td><td></td><td></td></tr>";
    	echo "<tr><td height='20'></td><td></td><td></td></tr>";
    	echo "</form></table>";
    ?>
    Pourriez vous me conseiller?
    Merci d'avance

  2. #2
    Membre expérimenté Avatar de frol
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 288
    Par défaut
    normal car quand tu mets modifier tu ne remet plus nul part l'id de la personne et donc ton id est celui de la personne sélectionnée dans la liste déroulante donc la premère

    tu peux ajouter dans ton form
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<imput type="hidden" name="idMAJ" value=$liste->id />";
    ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete = "UPDATE NewColab SET Nom = '$Nom', Prenom = '$Prenom' WHERE id = '$_POST[idMAJ]'"

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 54
    Par défaut
    Ca me parait parfait mais comment mettre a jour sans bouton?

  4. #4
    Membre expérimenté Avatar de frol
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 288
    Par défaut
    je ne vois pas du tout ce que tu veux dire

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 54
    Par défaut
    Ben comment mettre a jour sans bouton pour confirmer la mise a jour?

  6. #6
    Membre expérimenté Avatar de frol
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 288
    Par défaut
    hum
    es tu sur de ça
    as-tu mis ma correction?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 54
    Par défaut
    Oui je te remet 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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
     
    <link href="includes/info.css" rel="stylesheet" type="text/css" />
    <?php
     
        require("includes/Connexion.php");
     
     
    	$today = date ('Y-m-d');
    	$time = date ('G:i:s');
    	$Nom = addslashes($Nom);
    	$Prenom = addslashes($Prenom);
     
    	echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
    	echo "<form name='insert' method='post' action='admin.php'>";
     
    	if ($pbSubmit == 'Ajouter') {
    		$requete = "INSERT INTO NewColab (Nom, Prenom) VALUES ('$Nom', '$Prenom')";
      		$result = mysql_query ($requete) or ezine_mysql_die();
    		echo "<SCRIPT LANGUAGE=JavaScript> alert('L''NewColab a été commandé');</SCRIPT>";
    	}
    	elseif ($pbSubmit == 'Modifier'){
    		$requete = "SELECT * FROM NewColab WHERE id='$id'";
      		$result = mysql_query ($requete) or ezine_mysql_die();
      		$liste =mysql_fetch_object($result);
      		mysql_free_result($result);
    	}
    	elseif ($pbSubmit == 'Mettre à jour'){
    $requete = "UPDATE NewColab SET Nom = '$Nom', Prenom = '$Prenom' WHERE id = '$_POST[idMAJ]'";
     
    		$result = mysql_query ($requete) or ezine_mysql_die();
    	}
    	elseif ($pbSubmit == 'Supprimer'){
    		$requete = "DELETE FROM NewColab WHERE id = '$id'";
    		$result = mysql_query ($requete) or ezine_mysql_die();
    		echo "<SCRIPT LANGUAGE=JavaScript> alert('L''abonné a été supprimé');</SCRIPT>";		
    	}
     
    	echo "<tr><td width='180' align='right'></td><td width='20'>&nbsp;</td><td width='600' class='style'><b>Modifier / Supprimer un abonné</b></td></tr>";
    	echo "<tr><td height='20'></td><td></td><td></td></tr>";
    	echo "<tr><td height='20' class='style' align='right'><b>Abonné</b></td><td></td><td>";
    	echo "<select name='id'>";
     
    	$requete = "SELECT * FROM NewColab ORDER BY Nom ASC";
      	$result = mysql_query ($requete) or ezine_mysql_die();
      	while ($listeTitres = mysql_fetch_object($result)) {
    		echo "<option value='$listeTitres->id'>$listeTitres->Nom&nbsp;$listeTitres->Prenom</option>";
    	}
    	echo "</select>";
    	echo "</td></tr>";
    	echo "<tr><td height='20'></td><td></td><td></td></tr>";
    	echo "<tr><td height='20'></td><td></td><td><input type='submit' name='pbSubmit' value='Modifier'> <input type='submit' name='pbSubmit' value='Supprimer'>"; 
        echo "<imput type='hidden' name='idMAJ' value=$liste->id />";
    	echo"<input type='submit' name='pbSubmit' value='Ajouter'></td></tr>";
    	echo "<tr><td height='40'></td><td></td><td></td></tr>";
        echo "<tr><td height='20'></td><td></td><td></td></tr>";
    	echo "<tr><td height='20' class='texte' align='left'>Nom</td><td></td><td><textarea name='Nom' cols='35' rows='1'>$liste->Nom</textarea></td></tr>";
    	echo "<tr><td height='20'></td><td></td><td></td></tr>";
    	echo "<tr><td height='20' class='texte' align='left'>Prénom</td><td></td><td><textarea name='Prenom' cols='35' rows='1'>$liste->Prenom</textarea></td></tr>";
    	echo "<tr><td height='20'></td><td></td><td></td></tr>";
    	echo "<tr><td height='20'></td><td></td><td></td></tr>";
    	echo "</form></table>";
    ?>

  8. #8
    Membre expérimenté Avatar de frol
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 288
    Par défaut
    hey
    ben déjà il n'y a pas de bouton Mettre à jour
    donc ta ligne d'update ne sera jamais utilisée

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 54
    Par défaut
    Je l avait avant mais avec ta modif ben il y est plus. Comment le lier avec ton script?

  10. #10
    Membre expérimenté Avatar de frol
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 288
    Par défaut
    ah ben non


    je vois pas pourquoi tu las enlevé
    ma modif touche pas a ça

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 54
    Par défaut
    Voilà je l'ai remis, j ai le bouton mais ca n effectue pas la modif, il y a aucune reaction.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        echo "<imput type='hidden' name='idMAJ' value='$liste->id'>";
        echo "<input type='submit' name='pbSubmit' value='Mettre à jour'>";
    Dois je coupler mes 2 lignes?

    Je vais devenir fou avec ce truc lol

    Je te serais vraiment tres reconnaissant si tu trouve la solution en tout cas merci déjà pour ta précieuse aide.

  12. #12
    Membre expérimenté Avatar de frol
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 288
    Par défaut
    quand tu clique sur le bouton ça reload la page quand même?

    mets un echo "test"; dans

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    elseif ($pbSubmit == 'Mettre à jour'){
    $requete = "UPDATE NewColab SET Nom = '$Nom', Prenom = '$Prenom' WHERE id = '$_POST[idMAJ]'";
     
    		$result = mysql_query ($requete) or ezine_mysql_die();
    	}
    pour voir si il est exécuté

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 54
    Par défaut
    Oui ca reload et j'ai déjà l echo

  14. #14
    Membre expérimenté Avatar de frol
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 288
    Par défaut
    ok donc il exécute ta requête?
    fait un echo de la requete pour voir ce que ça donne

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 54
    Par défaut
    Je suis pas expert et là j'ai peur de plus te suivre...
    Ca reload mais ca ne fait aucun changement.
    Ou dois je mettre l echo?

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 54
    Par défaut
    Ah j ai compris ton conseil...
    Alors oui apres mise a jour il me l affiche correctement avec l echo.
    En fait le prob c est qui change pas dans la base alors

  17. #17
    Membre expérimenté Avatar de frol
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 288
    Par défaut
    en fait ce qu'on va essayé de voir c'est si la partie qui doit s'exécuter quand on pousse mettre a jour s'exécute

    pour ça c'est simple
    changer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    elseif ($pbSubmit == 'Mettre à jour'){
    $requete = "UPDATE NewColab SET Nom = '$Nom', Prenom = '$Prenom' WHERE id = '$_POST[idMAJ]'";
     
    		$result = mysql_query ($requete) or ezine_mysql_die();
    	}

    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    elseif ($pbSubmit == 'Mettre à jour'){
    $requete = "UPDATE NewColab SET Nom = '$Nom', Prenom = '$Prenom' WHERE id = '$_POST[idMAJ]'";
     echo $requete; 
    		$result = mysql_query ($requete) or ezine_mysql_die();
    	}

  18. #18
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 54
    Par défaut
    Euh je crois que ton code est similaire

  19. #19
    Membre expérimenté Avatar de frol
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 288
    Par défaut
    et non
    il y a echo $requete;
    il faudrait que je vois la requete pour te dire plus

  20. #20
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 54
    Par défaut
    Resultat de la requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    UPDATE NewColab SET Nom = 'Aliou', Prenom = 'Abduwahab' WHERE id = ''
    Avant modif c est Ali et pas Aliou donc y a déjà un changement mais pas dans la base

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Update avec données d'une autre table
    Par SOPSOU dans le forum Bases de données
    Réponses: 4
    Dernier message: 10/10/2008, 11h58
  2. Réponses: 2
    Dernier message: 22/09/2008, 18h21
  3. tronquer une donnée
    Par closo dans le forum XMLRAD
    Réponses: 2
    Dernier message: 24/02/2004, 15h42
  4. Première occurence d'une donnée
    Par bob33 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 10/06/2003, 13h50
  5. problème xsl : inclure une donnée xml dans une balise html
    Par djodjo dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 03/01/2003, 09h24

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