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 :

soucis UPDATE BDD


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 20
    Points
    20
    Par défaut soucis UPDATE BDD
    Bonjour à tous,

    J'essaye en vain d'updater une donnée dans ma BDD.

    1/ Je récupère la donnée nom déjà contenue dans ma BDD
    2/ Je l'affiche
    3/ En cliquant sur enregistrer, le nom est updaté dans la BDD

    Je n'ai pas de problème avec 1/ et 2/...

    Par contre, quand je modifie le nom et clique sur enregistrer, c'est l'ancien nom qui s'affiche et rien n'est modifié dans ma BDD

    Voici le code ci-dessous, si vous avez des idées...

    Merci d'avance

    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
     
     
    $liendb = mysql_connect("localhost", "root", "");
    mysql_select_db ("test");
     
    if ($_REQUEST['enregistre'] == "oui") 
    {
      if (empty($_REQUEST['nom']))
      die ("erreur");
     
    $sql = "UPDATE pdv SET nom = '".$_REQUEST['nom']."',". 
           "WHERE idpdv = '".$_REQUEST['id']."'";
    mysql_query ($sql);
    }
     
    echo "<h1>admin </h1>";
    echo "<p align=left> :: fiche demande [".$_REQUEST['id']."]</p>";
     
    $sql = "SELECT * FROM pdv WHERE idpdv= '".$_REQUEST['id']."'";
    $resultat = mysql_query ($sql);
    $pdv = mysql_fetch_array ($resultat);
     
    ?>  
     
    <form action="pdv_edit2.php" method="post">
    <input type="hidden" name="enregistre" value="oui" />
    <input type="hidden" name="id" value="<?php echo $_REQUEST['id']; ?>" />
     
    <table>
    <tr>
    <td>Nom</td>
    <td><input type="text" name="nom" value="<?php echo $pdv ['nom']; ?>" /></td>
    </tr>
    </table>
    <br/>
    <input type="submit" value="enregistrer" />
    </form>
    </body>
    </html>
    <?php mysql_close($liendb); ?>

  2. #2
    Membre actif Avatar de Ikonic
    Inscrit en
    Février 2007
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 197
    Points : 202
    Points
    202
    Par défaut
    salut,

    c'est quoi ton code dans le fichier pdv_edit2.php ?
    piksite.com
    Pour vos photos, images, .... » Carousel.us

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 20
    Points
    20
    Par défaut
    Salut Ikonic

    En fait le code que j'ai posté, c'est ma page pdv_edit2.php en entier.

  4. #4
    Membre éprouvé Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Points : 1 042
    Points
    1 042
    Par défaut
    bonsoir,

    en faites à première vu je vois un truc qui me chagrine ici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sql = "UPDATE pdv SET nom = '".$_REQUEST['nom']."',". 
           "WHERE idpdv = '".$_REQUEST['id']."'";
    mysql_query ($sql);
    Enlève la virgule:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = "UPDATE pdv SET nom = '".$_REQUEST['nom']."' WHERE idpdv = '".$_REQUEST['id']."'";
    mysql_query ($sql);
    ++
    LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 20
    Points
    20
    Par défaut
    Merci

    Effectivement, sans la virgule, ça enregistre bien dans la BDD

    Bon sans vouloir faire de la mauvaise pub (je viens de perdre l'après midi dessus), j'ai acheté PHP5 le Guide complet

    p.254 => la commande UPDATE

    il y a ces foutues virgules à toutes les lignes !!!

    Et pour un débutant, et ben c'est pas facile à voir

    ENfin bref, Merci beaucoup !

  6. #6
    Membre éprouvé Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Points : 1 042
    Points
    1 042
    Par défaut
    hehe,

    En effet, il ne faut pas faire de mauvaise pub^^
    PHP5 le Guide complet est pourtant l'un des meilleurs, niveau qualité prix, je t'assure que tu as choisi le bon, car quand j'ai commencé, j'ai dû en acheter 4 ou 5 avant celui là et c'est le mieux des bas prix.

    Mais j'avoue qu'il y a 2 ou 3 trucs bizar, mais bon, il est quand même bien fait.

    Pour ma part j'évite les $_REQUEST['var'](très utilisé dans le bouquin), et j'utilise plutôt le $_POST['var'].
    Mais bon... C'est un avis perso.

    Sinon, il y a pas mieux que le net ou ce genre de site pour apprendre, j'y suis arrivé un peu tard et tente d'aider au mieux, mais comme on dit mieux vaut tard que jamais ^^

    Sur ceux, bonne chance++
    LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 20
    Points
    20
    Par défaut
    pas de mauvaise pub mais un peu la rage quand même

    Bon je vais passer à la fonction DELETE maintenant

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 20
    Points
    20
    Par défaut
    Bonjour,

    Je réouvre le topic

    Toujours un problème avec mon UPDATE.

    Mon formulaire contient désormais 10 champs, le voici ci-dessous

    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
     
    <table>
    <tr>
    <td>Date demande</td>
    <td><input type="text" name="date_demande" value="<?php echo $pdv ['date_demande']; ?>" /></td>
    </tr>
    <tr>
    <td>Nom</td>
    <td><input type="text" name="nom" value="<?php echo $pdv ['nom']; ?>" /></td>
    </tr>
    <tr>
    <td>Prénom</td>
    <td><input type="text" name="prenom" value="<?php echo $pdv['prenom']; ?>" /></td>
    </tr>
    <tr>
    <td>email</td>
    <td><input type="text" name="email" value="<?php echo $pdv['email']; ?>" /></td>
    </tr>
    <tr>
    <td>Ville</td>
    <td><input type="text" name="ville" value="<?php echo $pdv['ville']; ?>" /></td>
    </tr>
    <tr>
    <td>Code postal</td>
    <td><input type="text" name="cp" value="<?php echo $pdv['cp']; ?>" /></td>
    </tr>
    <tr>
    <td>Date mariage</td>
    <td><input type="text" name="mariage" value="<?php echo $pdv['mariage']; ?>" /></td>
    </tr>
    <tr>
    <td>Newsletter</td>
    <td><input type="text" name="newsletter" value="<?php echo $pdv['newsletter']; ?>" /></td>
    </tr>
    <td>Message</td>
    <td><input type="text" name="contenu" value="<?php echo $pdv['contenu']; ?>" /></td>
    </tr>
    </tr>
    <td>Commande</td>
    <td><input type="text" name="commande" value="<?php echo $pdv['commande']; ?>" /></td>
    </tr>
    </table>
    <br/>
    <input type="submit" value="enregistrer" />
    </form>
    Jusque là pas de problème

    Maintenant evidemment je souhaite UPDATER les champs si nécessaire

    J'ai donc fait ça =>

    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
     
    $sql = "UPDATE pdv SET date_demande = '".$_REQUEST['date_demande']." ' ". 
                                     "nom = ' " .$_REQUEST['nom']." ' ". 
                                     "prenom = ' " .$_REQUEST['prenom']." ' ". 
                                     "email = ' " .$_REQUEST['email']." ' ". 
                                     "ville = ' " .$_REQUEST['ville']." ' ". 
                                     "cp = ' " .$_REQUEST['cp']." ' ". 
                                     "mariage = ' " .$_REQUEST['mariage']." ' ". 
                                     "newsletter = ' " .$_REQUEST['newsletter']." ' ". 
                                     "contenu = ' " .$_REQUEST['contenu']." ' ". 
                                     "commande = ' " .$_REQUEST['commande']." ' ".
     
              "WHERE idpdv = '".$_REQUEST['id']." ' ";
     
    mysql_query ($sql);
    }
    Et puis là rien ne se met à jour dans ma BDD, pas même le nom comme hier.

    Doit y avoir encore un problème dans le code

    Pourriez-vous m'éclairer.

    Merci

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 20
    Points
    20
    Par défaut
    Salut Idonic,

    Bon je dois avouer que j'essaye depuis 3h de faire marcher le bouzin et j'en peux plus

    Suis paumé maintenant avec les ' " , ; et j'en passe...

    Tu vois des erreurs dans mon code ?

  10. #10
    Membre actif Avatar de Ikonic
    Inscrit en
    Février 2007
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 197
    Points : 202
    Points
    202
    Par défaut
    essaye comme ça pour voir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $sql = "UPDATE pdv SET date_demande = '$_POST[date_demande]',  
                                     nom = '$_POST[nom]', 
                                     prenom = '$_POST[prenom]', 
                                     email = '$_POST[email]', 
                                     ville = '$_POST[ville]', 
                                     cp = '$_POST[cp]', 
                                     mariage = '$_POST[mariage]', 
                                     newsletter = '$_POST[newsletter]', 
                                     contenu = '$_POST[contenu]', 
                                     commande = '$_POST[commande]' WHERE idpdv = '$_POST[id] ' ";
    piksite.com
    Pour vos photos, images, .... » Carousel.us

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 20
    Points
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $sql = "UPDATE pdv SET 
    date_demande = '".$_REQUEST['date_demande']."', 
    nom = '".$_REQUEST['nom']."', 
    prenom = '".$_REQUEST['prenom']."', 
    email = '".$_REQUEST['email']."', 
    ville = '".$_REQUEST['ville']."', 
    cp = '".$_REQUEST['cp']."', 
    mariage = '".$_REQUEST['mariage']."', 
    newsletter = '".$_REQUEST['newsletter']."', 
    contenu = '".$_REQUEST['contenu']."', 
    commande = '".$_REQUEST['commande']."'";
    "WHERE idpdv = '".$_REQUEST['id']."'";
    Voilà le code qui fonctionne...

    Mais c'est dingue ce bouquin, comment s'en sortir avec des erreurs de ce type !!!
    arffff

  12. #12
    Membre actif Avatar de Ikonic
    Inscrit en
    Février 2007
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 197
    Points : 202
    Points
    202
    Par défaut
    personnellement je n'ai jamais acheté de bouquin sur la programmation en php car c'est du n'importe quoi en général dedans...

    regarde plutôt sur le net dans les sources, faq de developpez.com
    piksite.com
    Pour vos photos, images, .... » Carousel.us

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 20
    Points
    20
    Par défaut
    HALTE

    Bon ça marche, ça met bien à jour, mais pour TOUTES les lignes et pas seulement celle concernée ...

    Je deviens fou avec ce truc !

    [edit]
    Bon en modifiant la dernière ligne, ça marche !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $sql = "UPDATE pdv SET date_demande = '".$_REQUEST['date_demande']."', 
    nom = '".$_REQUEST['nom']."', 
    prenom = '".$_REQUEST['prenom']."', 
    email = '".$_REQUEST['email']."', 
    ville = '".$_REQUEST['ville']."', 
    cp = '".$_REQUEST['cp']."', 
    mariage = '".$_REQUEST['mariage']."', 
    newsletter = '".$_REQUEST['newsletter']."', 
    contenu = '".$_REQUEST['contenu']."', 
    commande = '".$_REQUEST['commande']."'
    WHERE idpdv = '".$_REQUEST['id']."'";
    Me reste plus qu'à aller sur les sites indiqués !

  14. #14
    Membre actif Avatar de Ikonic
    Inscrit en
    Février 2007
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 197
    Points : 202
    Points
    202
    Par défaut
    c'est normal puisque tu avais un point virgule ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    commande = '".$_REQUEST['commande']."'";
    piksite.com
    Pour vos photos, images, .... » Carousel.us

  15. #15
    Membre éprouvé Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Points : 1 042
    Points
    1 042
    Par défaut
    Salut pp51,

    Les erreurs les plus courantes sont les erreurs d'inatention. J'avoue que la meilleurs source reste celle du net, mais j'aime aussi avoir un support papier.

    Sur le bouquin il n'y a pas d'erreur, tu avais simplement omis de mettre les virgules, qui sont belles et bien présentes sur le livre. Ensuite il est vrai qu'il est très important de savoir ce que tu code et j'avoue que les tutos sur le net sont très recommandés.

    Ce qui est primordiale, c'est que tu sache ce que signifie et comment sont faites les requetes SQL.

    Et renseigne toi sur les différences entre: $_GET, $_POST, $_REQUEST. Cela pourra t'etre utile

    Voilà c'était quelques petits conseils en l'air et si tu as besoin n'hésite pas à faire signe.

    ++
    LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 20
    Points
    20
    Par défaut
    Hello sharrascript

    Et merci pour tes remarques

    J'ai regardé REQUEST et j'essaye donc de passer en POST.

    J'ai donc remplacé par POST partout, le problème est que maintenant, je n'arrive plus à remonter les infos de ma BDD vers ma page pdv_edit.php

    Y a t'il autre chose à modifier ?

    Merci pour ton aide !

    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
     
    <?php
    include("identification.inc.php");
    include("variables.inc.php");
     
    $liendb = mysql_connect ($bddserver, $bddlogin, $bddpassword);
    mysql_select_db ($bdd);
     
    if ($_POST['action'] == "maj")
    {
     if (empty($_POST['nom']))
      die ("erreur");
     
    $sql = "UPDATE pdv SET date_demande = '".$_POST['date_demande']."', 
    nom = '".$_POST['nom']."', 
    prenom = '".$_POST['prenom']."', 
    email = '".$_POST['email']."', 
    ville = '".$_POST['ville']."', 
    cp = '".$_POST['cp']."', 
    mariage = '".$_POST['mariage']."', 
    newsletter = '".$_POST['newsletter']."', 
    contenu = '".$_POST['contenu']."', 
    commande = '".$_POST['commande']."'
    WHERE idpdv = '".$_POST['id']."'";
     
    mysql_query ($sql);
    echo "Mise à jour effectuée";
    }
    elseif ($_POST['action']=="suppr" && $_POST['id']>=1)
    {
    $sql = "DELETE FROM pdv WHERE idpdv='".$_POST['id']."'";
    mysql_query ($sql);
    header('Location : http://localhost/admin/index.php');
    }
    include("haut.inc.php");
     
    echo "<p align=left> :: fiche demande [".$_POST['id']."]</p>";
     
    $sql = "SELECT * FROM pdv WHERE idpdv= '".$_POST['id']."'";
    $resultat = mysql_query ($sql);
    $pdv = mysql_fetch_array ($resultat);
     
    ?>  
     
    <form action="pdv_edit.php" method="post">
    <input type="hidden" name="enregistre" value="oui" />
    <input type="hidden" name="id" value="<?php echo $_POST['id']; ?>" />
     
    <table>
    <tr>
    <td>Date demande</td>
    <td><input type="text" name="date_demande" value="<?php echo $pdv ['date_demande']; ?>" /></td>
    </tr>
    <tr>
    <td>Nom</td>
    <td><input type="text" name="nom" value="<?php echo $pdv ['nom']; ?>" /></td>
    </tr>
    <tr>
    <td>Prénom</td>
    <td><input type="text" name="prenom" value="<?php echo $pdv['prenom']; ?>" /></td>
    </tr>
    <tr>
    <td>email</td>
    <td><input type="text" name="email" value="<?php echo $pdv['email']; ?>" /></td>
    </tr>
    <tr>
    <td>Ville</td>
    <td><input type="text" name="ville" value="<?php echo $pdv['ville']; ?>" /></td>
    </tr>
    <tr>
    <td>Code postal</td>
    <td><input type="text" name="cp" value="<?php echo $pdv['cp']; ?>" /></td>
    </tr>
    <tr>
    <td>Date mariage</td>
    <td><input type="text" name="mariage" value="<?php echo $pdv['mariage']; ?>" /></td>
    </tr>
    <tr>
    <td>Newsletter</td>
    <td><input type="text" name="newsletter" value="<?php echo $pdv['newsletter']; ?>" /></td>
    </tr>
    <td>Message</td>
    <td><input type="text" name="contenu" value="<?php echo $pdv['contenu']; ?>" /></td>
    </tr>
    </tr>
    <td>Commande</td>
    <td><input type="text" name="commande" value="<?php echo $pdv['commande']; ?>" /></td>
    </tr>
    </table>
    <br/>
    <select name="action">
    <option value="maj">Enregistrer</option>
    <option value="suppr">Supprimer</option>
    </select>
    <input type="submit" value="effectuer" />
    </form>
    <?php 
    mysql_close($liendb);
    include ("bas.inc.php");
     ?>

  17. #17
    Membre éprouvé Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Points : 1 042
    Points
    1 042
    Par défaut
    salut,

    il me faudrait un peu plus de précision. as tu un message d'erreur? Est ce que ta base se rempli? Est-ce qu'une fois que tu fait ton enregistrement les données s'affiche dans le formulaire? etc...

    Ensuite 2 petits trucs sont un peu gênant, je ne sais pas si cela a une incidence, mais vaut mieux éviter:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo $pdv ['date_demande']; 
    [...]
    echo $pdv ['nom'];
    Enlève les espaces et écrit plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo $pdv['date_demande']; 
    [...]
    echo $pdv['nom'];
    ++
    LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 20
    Points
    20
    Par défaut
    [edit]
    J'ai isolé le problème. C'est quand je remplace les REQUEST par des POST ci-dessous que les données ne s'affichent plus.

    Par contre je ne vois pas pourquoi, et vous ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    echo "<p align=left> :: fiche demande [".$_REQUEST['id']."]</p>";
     
    $sql = "SELECT * FROM pdv WHERE idpdv= '".$_REQUEST['id']."'";
    $resultat = mysql_query ($sql);
    $pdv = mysql_fetch_array ($resultat);
    ?>  
     
    <form action="pdv_edit.php" method="post">
    <input type="hidden" name="enregistre" value="oui" />
    <input type="hidden" name="id" value="<?php echo $_REQUEST['id']; ?>" />
    [/edit]



    Alors, voici le détail...

    J'ai une page index.php qui se contente d'afficher les données issues de phpmyadmin (ça marche, pas de problème). J'y ai un lien "Voir" sur chaque ligne afin de pouvoir voir l'ensemble des données et éventuellement les modifier ou supprimer l'enregistrement.

    Le lien voir est appelé via le lien suivant:
    <a href='pdv_edit.php?id=$id'>voir</a>"

    En cliquant sur voir, j'arrive donc sur le page pdv_edit.php?id=$id

    Quand j'utilisait les REQUEST, les données s'affichaient bien sur la page pdv_edit.php?id=$id et je pouvais les mettre à jour, elles s'enregistraient bien dans la BDD via l'UPDATE

    Maintenant avec POST, quand j'arrive sur la page pdv_edit.php?id=$id, tous les champs sont vides, ils ne sont pas remontés de ma BDD

    Voici le code de mon index.php, mais je ne pense pas que le soucis vienne d'ici

    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
     
    <?php
    include("identification.inc.php");
    include("variables.inc.php");
    include("haut.inc.php");
     
    $liendb = mysql_connect ($bddserver, $bddlogin, $bddpassword);
    mysql_select_db ($bdd);
     
    $sql = "SELECT * FROM pdv";
    $resultat = mysql_query ($sql);
     
    echo "<p align=left> :: accueil</p>";
    echo "<table width=90% align=center border=1>";
    echo "<tr><td>id</td><td>date_demande</td><td>nom</td><td>prenom</td><td>email</td><td>ville</td><td>cp</td><td>mariage</td><td>newsletter</td><td>contenu</td><td>commande</td></tr>";
     
    while ($pdv = mysql_fetch_array($resultat))
    {
      $id = $pdv ['idpdv'];
      $date_demande = $pdv ['date_demande'];
      $nom = $pdv ['nom'];
      $prenom = $pdv ['prenom'];
      $email = $pdv ['email'];
      $ville = $pdv ['ville'];
      $cp = $pdv ['cp'];
      $mariage = $pdv ['mariage'];
      $newsletter = $pdv ['newsletter'];
      $contenu = $pdv ['contenu'];
      $commande = $pdv ['commande'];
     
      echo "<tr>";
      echo "<td>$id</td>";
      echo "<td>$date_demande</td>";
      echo "<td>$nom</td>";
      echo "<td>$prenom</td>";
      echo "<td>$email</td>";
      echo "<td>$ville</td>";
      echo "<td>$cp</td>";
      echo "<td>$mariage</td>";
      echo "<td>$newsletter</td>";
      echo "<td>$contenu</td>";
      echo "<td>$commande</td>";
      echo "<td>";
      echo "<form action='pdv_edit.php'>";
      echo "<a href='pdv_edit.php?id=$id'>voir</a>";
      echo "</form>";
      echo "</td>";
      echo "</tr>";
      }
     
      echo "</table>";
     
      mysql_close($liendb);
     
      include("bas.inc.php");
     
    ?>

  19. #19
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Sur la page pdv_edit.php tu récupères toujours l'id par $_GET['id'] ? Si ca n'est pas le cas et que tu es passé par $_POST['id'] il faut revenir en arrière puisque tu passes cette valeur en paramètre dans l'url.

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 20
    Points
    20
    Par défaut
    Hello,

    Maintenant que j'y pense, dans mon index.php, je crée l'url de la façon pdv_edit.php?id=$id, donc dans edit_pdv.php, je suis obligé de passer par GET et pas POST pour récupérer l'id.

    C'est bien ça ?

Discussions similaires

  1. [C#] DetailsView et Update BDD Access
    Par BigMike dans le forum ASP.NET
    Réponses: 19
    Dernier message: 10/07/2007, 16h19
  2. [CSV] Update BDD à partir de fichier xls ou csv
    Par masseur dans le forum Langage
    Réponses: 2
    Dernier message: 03/07/2007, 14h51
  3. soucis UPDATE multiple
    Par maysa dans le forum Langage SQL
    Réponses: 4
    Dernier message: 25/06/2007, 15h38
  4. [SQL] problème update bdd
    Par ph_anrys dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 07/06/2007, 17h59
  5. [Conception] Ptit soucis de bdd
    Par jenny50 dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 07/03/2006, 16h36

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