Bonjour,
J'ai un petit souci avec mon code PHP. Enfin, pas tout à fait le miens mais celui de mon professeurJe suis encore étudiante et je me suis mise au PHP que très récemment. Excusez donc du peu de compétence dont je risque de faire preuve ces prochains mois.
Notre projet est de créer un site web sur un sport de combat. Très gentiement, on nous a conseillé de nous pencher sur le PHP Objet. Si pour les fonctions DELETE/INSERT il n'y a aucun souci, je rencontre des difficultés pour l'UPDATE.
Voilà donc mes fichiers :
fichier controleur_pays
fichier PdoPays
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 <?php if (isset($_GET['action'])) { $action = $_GET['action']; } switch ($action) { (...) <--- je vous épargne l'inutile case "modifier": include("./page/pays/modifier.php"); break; case "traitement_modif": $pays = new Pays(); $pays->setNomPays($_POST['NOMPAYS']); $pays->setNomNationalite($_POST['NOMNATIONALITE']); $pays->setIdPays($_POST['IDPAYS']); $pdo = new PdoPays(); $pdo->update($pays); break; (...) }
fichier modifier
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 class PdoPays extends PdoConnect { public function update(pays $pays) { $this->open(); $sql = "UPDATE `pays` SET NOMPAYS= ?, NOMNATIONALITE= ? WHERE IDPAYS=?"; $prep = $this->pdo->prepare($sql); $prep->bindValue(1, $pays->getNomPays(), PDO:: PARAM_STR); $prep->bindValue(2, $pays->getNomNationalite(), PDO:: PARAM_STR); $prep->bindValue(3, $pays->getIdPays(), PDO:: PARAM_INT); var_dump($prep); $prep->execute(); } }
Si j'arrive à récupérer le pays et la nationalité déjà mise dans ma table, je n'arrive pas à les modifier. Lorsque je clique sur VALIDER ma requête donne ça - > object(PDOStatement)[4]
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 <?php $IdPays = $_GET['IdPays']; $oPDO = new PdoPays(); $pays = $oPDO->readOne($IdPays); echo "<form id='formulaire' action='index.php?route=pays&action=traitement_modif' method='post'>"; echo "<label>modifiez un Nom de Pays</label><br />"; echo "<input type='text' name='NOMPAYS' value='" . $pays->getNomPays() . "' /><br />"; echo "<label>Entre un Nom de Nationalite</label><br />"; echo "<input type='text' name='NOMNATIONALITE' value='" . $pays->getNomNationalite() . "'/>"; echo "<input type='hidden' name='IDPAYS' value='" . $pays->getIdPays() . "' />"; echo "<input type='submit' value='Valider'>"; echo "</form>"; echo "<br /><br /><br /><br /><br />"; ?>
public 'queryString' => string 'UPDATE `pays` SET NOMPAYS= ?, NOMNATIONALITE= ? WHERE IDPAYS=?' (length=62)
Je ne comprends vraiment pas pourquoi... --" Help ?
Partager