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 :

Formulaire de modification de données avec champs pré-remplis


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Stagiaire
    Inscrit en
    Avril 2017
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Stagiaire

    Informations forums :
    Inscription : Avril 2017
    Messages : 39
    Points : 12
    Points
    12
    Par défaut Formulaire de modification de données avec champs pré-remplis
    Bonjour tout le monde !

    Alors voilà mon (nouveau) problème. J'ai réussi récemment à faire un formulaire d'ajout de données pour les besoins d'un site. Maintenant, je suis sur un formulaire de modification. Il s'agit du même formulaire mais avec les champs pré-remplis. Comment on y accède ? Et bien depuis un tableau qui affiche toutes les données se trouvant dans ma table. Sur cette liste, il y a trois boutons dont un qui permet d'accéder au formulaire de modification, et ce sur chaque ligne du tableau. Ce qui signifie qu'il y a un formulaire de modification pour chaque données, et c'est là que je bloque.

    Voici mes codes :

    1) La requête SQL :

    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
     
    public function recupInfoEvent(){
            try
            {
                $req="SELECT id, nom, description, image
                      FROM evenement
                      WHERE id=:pid";
                echo $req;
                $rs = PdoOrg::$monPdo->prepare($req);
                $prep->bindValue(':pid', $unEvent->getId(), PDO::PARAM_STR);
                $prep->execute(); 
                $prep = NULL;
            }   
            catch (PDOException $uneException) {
                echo "ERREUR : " . $uneException->getMessage();
            }
        }

    2) Le formulaire :

    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
     
    <?php
    $pdo = PdoOrg::getPdoOrg(); //On fait appel à PDO
        $cesInfos=$pdo->recupInfoEvent(); //Et à la fonction recupInfoEvent() pour lister les évènements
     
        ?>
     
            <form method="POST" action="">
                <div id="addEvent">
                    <?php
                    while ($info = $cesInfos->fetch())
                    {
                    ?>
                    <input type=hidden name="id" value="<?php echo $info['id'] ?>">
                    <label>Titre : </label><input type="text" id="textTitre" value="<?php echo $info['nom'] ?>"></br></br>
                    <label>Description : </label></br>
                    <textarea type="text" id="textDescr" class="ckeditor" value="<?php echo $info['description'] ?>"></textarea></br></br>
                    <label>Charger une image : </label><input type="file" name="addImg" id="addImg"/></br></br>
                    <label>Charger le réglement (.pdf) : </label><input type="file" name="addImg" id="addImg"/></br></br>
                    <a href=#><input type="submit" value="Modifier"></a><a href="mes-evenements"><input type="button" value="Annuler"></a>
                    <?php }
                    $reponse->closeCursor();
                    ?>
                </div>
            </form>

    J'ai sans doute dû faire n'importe quoi, au point d'avoir ce message d'erreur :

    FATAL ERROR: CALL TO A MEMBER FUNCTION BINDVALUE() ON NULL IN C:\WAMP\WWW\OVH_SYS01\WWW\HTML\KMS_WP_ORG\WP-CONTENT\PLUGINS\ORGANISATEUR\MANIPDONNEES\ACCESDONNEES\PDOORG.PHP ON LINE 90
    Je ne trouve pas de solution, c'est pourquoi je viens à vous. Merci d'avance pour vos réponses

  2. #2
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    Salut, dans recupInfoEvent c'est $rs au lieu de $prep
    Le bienfait n'est jamais perdu

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Stagiaire
    Inscrit en
    Avril 2017
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Stagiaire

    Informations forums :
    Inscription : Avril 2017
    Messages : 39
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par Willy_k Voir le message
    Salut, dans recupInfoEvent c'est $rs au lieu de $prep
    J'ai remodifié avant de lire ton message, mais oui cette erreur d'inattention est assez énorme x)

  4. #4
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    Je suppose que le message d'erreur a disparu.. Et des questions, pourquoi ne pas passer l'ID en paramètre à recupInfoEvent ? Et cette méthode est censée retourner une seul enregistrement non ? Dans ce cas, pas besoin de while
    Le bienfait n'est jamais perdu

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur Stagiaire
    Inscrit en
    Avril 2017
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Stagiaire

    Informations forums :
    Inscription : Avril 2017
    Messages : 39
    Points : 12
    Points
    12
    Par défaut
    Avec le code modifié, c'est mieux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public function recupInfoEvent($id){
            $req="SELECT id, nom, description, image
                  FROM evenement
                  WHERE id=".$id;
            echo $req;
            $rs = PdoOrg::$monPdo->query($req);
            $lesInfos = $rs->fetchAll();
            return $lesInfos;
        }

  6. #6
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    Est-ce que ta requête peut retourner plus d'un enregistrement ?
    Si tu ne prépares plus ta requête, applique au moins un intval sur $id
    Le bienfait n'est jamais perdu

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur Stagiaire
    Inscrit en
    Avril 2017
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Stagiaire

    Informations forums :
    Inscription : Avril 2017
    Messages : 39
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par Willy_k Voir le message
    Est-ce que ta requête peut retourner plus d'un enregistrement ?
    Si tu ne prépares plus ta requête, applique au moins un intval sur $id
    Non, elle n'est pas pensé pour plusieurs enregistrement.

    La requête fonctionne, j'ai les champs pré remplis désormais ^^

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public function recupInfoEvent($id){
    	global $monPdo;
    	$req = "SELECT id, nom, description, image
    		  FROM evenement
    		  WHERE id=:pid"; // requête PREPAREE
     
    	$rs = PdoOrg::$monPdo->prepare($req);
    	$rs->bindValue(':pid', $id, PDO::PARAM_INT); // INT = entier
    	$rs->execute();
    	$lesInfos = $rs->fetch(); // récupère UNE seule ligne
     
    	return $lesInfos;
    }

Discussions similaires

  1. Erreur sur modification de données avec un formulaire
    Par counterbob dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/04/2017, 20h14
  2. Modification modèle données et champs formulaires
    Par lekunfry dans le forum Zend_Db
    Réponses: 2
    Dernier message: 27/07/2009, 18h15
  3. Modification des données avec hibernate
    Par kadel dans le forum Servlets/JSP
    Réponses: 14
    Dernier message: 10/08/2007, 14h29
  4. Réponses: 1
    Dernier message: 22/06/2007, 08h32
  5. Modification de données avec une relation N-N
    Par NikoC dans le forum Access
    Réponses: 4
    Dernier message: 28/11/2006, 17h04

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