bonjour, tu code plutot bien même si il te manque le petit déclic le mien c'était le procédural c'est coool le full objet encore plus avec des xréation d'exception intercecepté par des block try catch. Mais je m'égare déja ici ca bug
<?php
$req = $this->db->prepare("INSERT INTO livre (titre,sousTitre,resume,image,etat,edition,mot_cle,langue) VALUE (:titre,:sousTitre,:resume,:image,:etat,:edition,:mot_cle,:langue)");
$req->bindValue('titre', $livre->getTitre(), PDO::PARAM_STR);
$req->bindValue('sousTitre', $livre->getSousTitre(), PDO::PARAM_STR);
$req->bindValue('resume', $livre->getResume(), PDO::PARAM_STR);
$req->bindValue('image', $livre->getImage(), PDO::PARAM_STR);
$req->bindValue('etat', $livre->getEtat(), PDO::PARAM_INT);
$req->bindValue('edition', $livre->getEdition(), PDO::PARAM_INT);
$req->bindValue('mot_cle', $livre->getMot_Cle(), PDO::PARAM_INT);
$req->bindValue('langue', $livre->getLangue(), PDO::PARAM_INT);
//execution de la requete sur le serveur SQL
$req->execute();
$id = $this->db->lastInsertId();
$livre->setId($id);
//tester si l'insertion se passe bien avec rowCount()
if (! $req->execute()) {
echo "<br>[debug] Erreur";
}
}
bonjour, tu code plutot bien même si il te manque le petit déclic le mien c'était le procédural c'est coool le full objet encore plus avec des xréation d'exception intercecepté par des block try catch. Mais je m'égare déja ici ca bug
<?php
$req = $this->db->prepare("INSERT INTO livre (titre,sousTitre,resume,image,etat,edition,mot_cle,langue) VALUE (:titre,:sousTitre,:resume,:image,:etat,:edition,:mot_cle,:langue)");
$req->bindValue('titre', $livre->getTitre(), PDO::PARAM_STR);
$req->bindValue('sousTitre', $livre->getSousTitre(), PDO::PARAM_STR);
$req->bindValue('resume', $livre->getResume(), PDO::PARAM_STR);
$req->bindValue('image', $livre->getImage(), PDO::PARAM_STR);
$req->bindValue('etat', $livre->getEtat(), PDO::PARAM_INT);
$req->bindValue('edition', $livre->getEdition(), PDO::PARAM_INT);
$req->bindValue('mot_cle', $livre->getMot_Cle(), PDO::PARAM_INT);
$req->bindValue('langue', $livre->getLangue(), PDO::PARAM_INT);
//execution de la requete sur le serveur SQL
$req->execute();
$id = $this->db->lastInsertId();
$livre->setId($id);
//tester si l'insertion se passe bien avec rowCount()
if (! $req->execute()) {
echo "<br>[debug] Erreur";
}
}
bonjour, tu code plutot bien même si il te manque le petit déclic le mien c'était le procédural c'est coool le full objet encore plus avec des xréation d'exception intercecepté par des block try catch. Mais je m'égare déja ici ca bug
<?php
$req = $this->db->prepare("INSERT INTO livre (titre,sousTitre,resume,image,etat,edition,mot_cle,langue) VALUE (:titre,:sousTitre,:resume,:image,:etat,:edition,:mot_cle,:langue)");
$req->bindValue('titre', $livre->getTitre(), PDO::PARAM_STR);
$req->bindValue('sousTitre', $livre->getSousTitre(), PDO::PARAM_STR);
$req->bindValue('resume', $livre->getResume(), PDO::PARAM_STR);
$req->bindValue('image', $livre->getImage(), PDO::PARAM_STR);
$req->bindValue('etat', $livre->getEtat(), PDO::PARAM_INT);
$req->bindValue('edition', $livre->getEdition(), PDO::PARAM_INT);
$req->bindValue('mot_cle', $livre->getMot_Cle(), PDO::PARAM_INT);
$req->bindValue('langue', $livre->getLangue(), PDO::PARAM_INT);
//execution de la requete sur le serveur SQL
$req->execute();
$id = $this->db->lastInsertId();
$livre->setId($id);
//tester si l'insertion se passe bien avec rowCount()
if (! $req->execute()) {
echo "<br>[debug] Erreur";
}
}
tu execute() 2 fois la requete d'insertion
-------- bonjour,
merci mais j'admet que seule je n'aurais jamais réussi. moi c'est l'objet ou j'ai énormément de difficulter ou cela je fais en x2 ??
--------------
Lartak a écrit:
Bonjour.
Qu'est-ce qui se passe exactement, quand tu dis que ça ne fonctionne pas bien ?
-----------
eh bien je passe de la premiere page (celle qui affiche tous els livres) a la seconde.
je n'ai plus comme avant "toutes les infos d'afficher" mais ceci
[debug]Dans "ManagerLivre::construct" [/debug] [debug]Dans "livre::construct" [/debug] [debug]Dans "livre::hydrate" [/debug] [debug]Dans "livre::setId" [/debug] [debug]Dans "livre::setTitre" [/debug] [debug]Dans "livre::setSousTitre" [/debug] [debug]Dans "livre::setResume" [/debug] [debug]Dans "livre::setImage" [/debug] [debug]Dans "livre::setEtat" [/debug] [debug]Dans "livre::setEdition" [/debug] [debug]Dans "livre::setMot_Cle" [/debug] [debug]Dans "livre::setLangue" [/debug] ( ! ) Fatal error: Uncaught Error: Cannot use object of type livre as array in C:\wamp\www\owlbook\code\html\livre.php on line 13 ( ! ) Error: Cannot use object of type livre as array in C:\wamp\www\owlbook\code\html\livre.php on line 13 Call Stack #TimeMemoryFunctionLocation 10.0021388928{main}( )...\index.php:0 20.0079408992include_once( 'C:\wamp\www\owlbook\code\html\livre.php' )...\index.php:86
Ne t'en fait pas c'est normal j'ai un titre de niveau 3 (bac+2) de dev informatique tu ne peux pas tous savoir et c'est en faisant des erreurs que l'on apprend si je t'ai dis que tu codé plutot bien c'est que je sent que tu a a vrai potentiel
Ne t'en fait pas c'est normal j'ai un titre de niveau 3 (bac+2) de dev informatique tu ne peux pas tous savoir et c'est en faisant des erreurs que l'on apprend si je t'ai dis que tu codé plutot bien c'est que je sent que tu a a vrai potentiel
merci cela me fais plaisir =)
mais je ne suis pas très doué, je fais juste de mon mieux =)
Lartak a écrit:
Ton erreur, c'est que tu utilises la variable $livres comme un tableau, soit $livres['titre'], alors que c'est un objet, soit $livres->getTitre().
- Edité par Lartak il y a 17 minutes
et donc si je fais ceci : <a href="?page=livres&id=<?= $livre->getId() ?>"><?= $livre->getTitre() ?></a> <br>
mais je ne suis pas très doué, je fais juste de mon mieux =)
J'ai deja ton code j'ai déja concu ce progiciel de gestion a peine 2000 livre a gerer mais ca serait 2 million la meme chose je vais te retrouver le cours en faite il faut que tu crée un objet livre et tu le fait naviguer c'est ce que je te parler par déclic
mais je ne suis pas très doué, je fais juste de mon mieux =)
J'ai deja ton code j'ai déja concu ce progiciel de gestion a peine 2000 livre a gerer mais ca serait 2 million la meme chose je vais te retrouver le cours en faite il faut que tu crée un objet livre et tu le fait naviguer c'est ce que je te parler par déclic
tu aurait précisé des le début que c'était pour un exam cela ne m'aurait pas empecher de t'aider mais je t'aurais demandé un jeu d'essai. et des accesseur du style if (id is not int) dsl j'ai tapé juste l'algo c'est qoui ton exam? il faut que cela parraissse crédilble que tu ai pu le faire toi meme pas te donner un code pro que tu comprend a peine
tu aurait précisé des le début que c'était pour un exam cela ne m'aurait pas empecher de t'aider mais je t'aurais demandé un jeu d'essai. et des accesseur du style if (id is not int) dsl j'ai tapé juste l'algo c'est qoui ton exam? il faut que cela parraissse crédilble que tu ai pu le faire toi meme pas te donner un code pro que tu comprend a peine
.
c'est le bts sio slam =)
oui je suis d'accord, avoir tout une pile de code que l'on ne comprends pas n'est pas utile =)
----------
edit : après quelques correction, voici ce que cela donne
Oui, je l'ai bien compris, mais dans ce fichier, tu récupères la valeur du paramètre id que tu utilises pour récupérer un enregistrement dans la table langue, sauf que l'id dans l'url quand tu es sur la page livre.php, ce n'est pas celui de l'enregistrement correspondant à la langue, mais celui de l'enregistrement correspondant au livre affiché, donc si dans ta méthode read de ta classe ManagerLangue tu fais une requête du genre :
SELECT * FROM langue WHERE id = :id
Donc soit tu ne va pas récupérer l'enregistrement correspondant, soit tu risques de n'avoir aucun enregistrement pour la table langue.
- Edité par Lartak 22 mai 2019 à 22:11:24
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Je vais te donner un exemple simple, avant d'inclure la page langue.php, tu pourrais par exemple définir une variable qui contiendrait l'id de langue, par exemple :
<?php
if (!empty($langue_id)) {
$id = $langue_id;
} else if (!empty($_GET['id'])) {
$id = $_GET['id'];
}
if (!empty($id)) {
$oManagerLangue = new ManagerLangue();
$oManagerLangue->setDb($db);
$langues = $oManagerLangue->read($id);
?>
// le reste de ton code d'affichage
<?php }
Pour l'explication concernant ce dernier code, si la variable $langue_id existe et n'est pas vide la variable $id prendra sa valeur, si ce n'est pas le cas, ce sera la seconde condition qui sera testé et si elle est respectée, la variable $id prendra la valeur de $_GET['id'] puis en dehors de la condition si la variable $id existe et quelle n'est pas vide, la classe sera utilisée pour récupérer l'enregistrement correspondant à la valeur de la variable $id.
Si aucune des conditions n'est respectée, aucun contenu ne sera récupéré du fichier.
- Edité par Lartak 22 mai 2019 à 22:35:00
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Merci à tous. Vous pouvez me retrouver ici :
🌐 Visitez mon profil sur Comeup
🚀 Découvrez BeFreelancr
📱 Retrouvez-moi sur LinkedIn
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Keep It Simple Stupid - SF4 conf Swift - Cours 1/4 SF4 - Exceptions PDO - Formes Normales
Merci à tous. Vous pouvez me retrouver ici :
🌐 Visitez mon profil sur Comeup
🚀 Découvrez BeFreelancr
📱 Retrouvez-moi sur LinkedIn
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Merci à tous. Vous pouvez me retrouver ici :
🌐 Visitez mon profil sur Comeup
🚀 Découvrez BeFreelancr
📱 Retrouvez-moi sur LinkedIn
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Merci à tous. Vous pouvez me retrouver ici :
🌐 Visitez mon profil sur Comeup
🚀 Découvrez BeFreelancr
📱 Retrouvez-moi sur LinkedIn
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Merci à tous. Vous pouvez me retrouver ici :
🌐 Visitez mon profil sur Comeup
🚀 Découvrez BeFreelancr
📱 Retrouvez-moi sur LinkedIn
Merci à tous. Vous pouvez me retrouver ici :
🌐 Visitez mon profil sur Comeup
🚀 Découvrez BeFreelancr
📱 Retrouvez-moi sur LinkedIn
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Merci à tous. Vous pouvez me retrouver ici :
🌐 Visitez mon profil sur Comeup
🚀 Découvrez BeFreelancr
📱 Retrouvez-moi sur LinkedIn
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Merci à tous. Vous pouvez me retrouver ici :
🌐 Visitez mon profil sur Comeup
🚀 Découvrez BeFreelancr
📱 Retrouvez-moi sur LinkedIn
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Merci à tous. Vous pouvez me retrouver ici :
🌐 Visitez mon profil sur Comeup
🚀 Découvrez BeFreelancr
📱 Retrouvez-moi sur LinkedIn
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Merci à tous. Vous pouvez me retrouver ici :
🌐 Visitez mon profil sur Comeup
🚀 Découvrez BeFreelancr
📱 Retrouvez-moi sur LinkedIn
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Merci à tous. Vous pouvez me retrouver ici :
🌐 Visitez mon profil sur Comeup
🚀 Découvrez BeFreelancr
📱 Retrouvez-moi sur LinkedIn
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Merci à tous. Vous pouvez me retrouver ici :
🌐 Visitez mon profil sur Comeup
🚀 Découvrez BeFreelancr
📱 Retrouvez-moi sur LinkedIn