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 :

[SQL] probleme avec update


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut [SQL] probleme avec update
    bonjour à tous

    je dois modifier certains de mes enregistrements.

    J'ai donc créer un formulaire ou j'affiche mes données en fonction de l'id puis j'appelle ma page update.

    Et évidemment je galère en fait, je n'arrive pas à récupérer l'ID, il me semble.
    Qui est assez généreux pour me donner un coup de pouce ?
    D'avance merci

    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
    <?php
    	include "config.php3";
    	// on se connecte à la base de donnée
    	$dbconnect = mysql_connect($cfgHote,$cfgUser) or die ("erreur de connexion3");
    	// on selectionne votre base
    	mysql_select_db($db,$dbconnect) or die ("impossible de selectionner la base");
     
     
    if (isset($_POST['ID']) && isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['telportable'])){
     
    	//recup des variables
        $ID = $_POST['ID'];  
        $nom = $_POST['nom'];  
        $prenom = $_POST['prenom'];  
        $adresse = $_POST['adresse'];
    	$telfixe = $_POST['telfixe'];
    	$portable = $_POST['telportable'];
     
    	// on exécute la requête  pour modification 
     
    	 $req_update = ("UPDATE  ficheperso SET  nom = '$nom', prenom ='$prenom', adresse ='$adresse',telfixe='$telfixe',telportable='$portable' WHERE ID ='$ID'")or die ("erreur la modif n'est pas effectuée"); 
     
         $requete = mysql_query($req_update)or die(mysql_error());
     
    	}
    //controle, pour savoir si la modif est effectuée:
      if($requete)
      {
        echo("La modification à été correctement effectuée") ;
      }
      else
      {
        echo "<br>";
    	echo("La modification n° $ID à échouée") ;
      }
     
    ?>

  2. #2
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut
    t'as une erreur sur le dernier mysql error ?? c'est ça ?
    si c'est ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     $requete = mysql_query($req_update)or die("Erreur MySQL :". $req_update."<br>". mysq_error());
    en affichant ta requete, tu verras surement d'ou viens ton erreur

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    Essaie d'afficher l'état de tes variables pour voir où celà coince.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    echo $_POST['ID'];
    if (isset($_POST['ID']) && isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['telportable'])){
     
    	//recup des variables
        $ID = $_POST['ID'];  
        $nom = $_POST['nom'];  
        $prenom = $_POST['prenom'];  
        $adresse = $_POST['adresse'];
    	$telfixe = $_POST['telfixe'];
    	$portable = $_POST['telportable'];
    echo "UPDATE  ficheperso SET  nom = '$nom', prenom ='$prenom', adresse ='$adresse',telfixe='$telfixe',telportable='$portable' WHERE ID ='$ID'";
    //etc...
    Dis nous donc ce que te renvoie les echo.

    Le deuxieme echo devrait te renvoyer la requete sql qui est executé. Si l'erreur vient de cette requete, essaie de voir si tu n'as pas une faute de syntaxe dedans ou si il ne te manque pas une variable.

    Car à première vue je ne vois rien de choquant dans ton code.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    ben non justement je n'ai aucun retour
    si ce n'est mon if en bas du code qui me renvoie
    La modification n° à échouée et comme vous pouvez le constater il ne met même pas le N° de la fiche

    et c'est bien ce qui m'inquiète

  5. #5
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut
    en desous ton mysql_query

    mets pour savoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf ("Lignes modifiées : %d\n", mysql_affected_rows());

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    J'ai mis ta ligne en dessous de la requête
    printf ("5 : %d\n", mysql_affected_rows());

    nada rien

    je ne pige pas là

  7. #7
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut
    t'as fais un echo de ta requete
    et du $_POST['id'] ?? et c'est bon ?

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    oui c bon pour l echo

    je reprends a zero g 1 form qui m affiche les donnés dans des input je change la donnée dans un input et je clique sur le bouton modif et il ne se passe rien

    donc g mis çà <a href= "update2.php" ?ID=$ID method="POST">Modifier</a>

    tu vois et là effectivement ma page update arrive sauf qu 'elle ne modifie rien

    je procede autrement

    dans l'entete de mon form je mets <form action = update.php etc..

    et si j appuis sur mon bouton modif là il modifie bien ma ligne

    on conclue donc que ma page update fonction bien

    par contre en faisant form action .........

    je peut pas modifie mes champs puisqu' a chaque ENTER il m'envoi ma page update
    voilà je tourne en rond là

    voici un bout de code de la page

    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
    <html>
    <head>
      <title>affichage des données dans le formulaire</title>
     
    </head>
     
     
    <body>
     
    <p></p>
    <form>
     
    <p><?php
     //on récupère la donnée issue de $_GET
     
     if (isset($_GET['ID'])) $ID = htmlentities($_GET['ID'], ENT_QUOTES); else $ID =1; {
     
     include "config.php3"; 
     //on se connecte à la base 
     $dbconnect = mysql_connect($cfgHote,$cfgUser) or die ("erreur de connexion serveur"); 
     //sélection de la base de données: 
     mysql_select_db($db,$dbconnect) or die ("impossible de selectionner la base"); 
     
     
     //Si $ID est different de vide ('') 
     
     if ($ID != '')
     
    //on prépare la requête  
     
    $sql = 'select ID,  nom,prenom,adresse,telfixe,telportable FROM ficheperso WHERE ID='.$ID.'';  
     // echo("$sql")
    //on exécute la requête  
     
    $requete = mysql_query($sql)or die('erreur sql ho là!<br>'.$sql.'<br>'.mysql_error());  
     
     
    //on récupère les données dans un tableau  
     
    $data = @mysql_fetch_array($requete);  
     
    $ID = $data['ID'];  
     
    $nom = $data['nom'];  
     
    $prenom = $data['prenom'];  
     
    $adresse = $data['adresse'];  
     
    $telfixe = $data['telfixe'];  
     
    $portable = $data['telportable'];  
    }
     ?>
     	<a href= "update2.php" ?ID=$ID method="POST">Modifier</a>
     
      <table align="center" border="0" cellpadding="2" cellspacing="10">
     
        <body>
     
          <tr align="center">
     
    	<td><input name="ID" value="<?php echo $ID;?>" ></td>
                <td></td>
                <td></td>
    		</tr>
    		<tr align="center">
            <td>nom</td>
     
            <td><input  name="nom" value="<?php echo $nom ;?>" type="text"></td>
     
                <td></td>
          </tr>
     
          <tr align="center">
     
            <td>prenom</td>
     
            <td><input name="prenom" value="<?php echo $prenom ;?>" type="text"></td>
     
                <td></td>
          </tr>
     
     
     
            <p></p>
     
            </td>
     
                <td></td>
          </tr>
     
          <tr align="center">
     
            <td colspan="2" height="14"><input action="update2.php" type="submit" value="modifier"  method="POST" > 
                    </td>
     
                <td>      
     
     
        </tbody></td>
            </tr>
     
      </table>
     
    </form>
     
    <p></p>
     
    </body>
    </html>

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut je suis un imbécile
    enfin c resolu tout betement en relisant mon dernier topic la lumière

    g simplement rajouter une deuxieme balise FORM action etc.....


    et mon bouton modif fonctionne correctement

    merci quand meme

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

Discussions similaires

  1. probleme avec update en sql
    Par mimi13016 dans le forum AS/400
    Réponses: 5
    Dernier message: 02/04/2010, 09h25
  2. [SQL] Probleme avec UPDATE
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/10/2007, 11h42
  3. [VBA-SQL]Probleme avec UPDATE
    Par omegabahamut dans le forum Access
    Réponses: 3
    Dernier message: 01/01/2007, 19h54
  4. Probleme avec UPDATE et INSERT INTO
    Par cmoimeme dans le forum Bases de données
    Réponses: 3
    Dernier message: 08/05/2006, 22h12
  5. [requete SQL] Probleme requete UPDATE
    Par Shiryu44 dans le forum JDBC
    Réponses: 12
    Dernier message: 10/03/2005, 11h41

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