Bonjour, et en testant ca ?
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ->where('numero_fournisseur= :numero_fournisseur') ->bind(array(':numero_fournisseur'=>$numero_fournisseur))
Bonjour, et en testant ca ?
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ->where('numero_fournisseur= :numero_fournisseur') ->bind(array(':numero_fournisseur'=>$numero_fournisseur))
$this->fournisseur dans le modele qu'est qu'il contien.
comment tu la declarer
N'y a t il pas possibilité de simplement déplacer le code que j'avais au départ dans le controler (qui était fonctionnel) vers le modèle ?
Ou une "manipulation" du même genre ??
@ Madfrix : Désolé mais toujours la même erreur ...
@ M4riachi :mon modèle complet contient :
Sa t'aide un peu ??
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 <?php class Fournisseurs extends Zend_Db_Table { protected $_name = 'fournisseur'; public function select_all_fournisseur() { $numero_fournisseur = '1'; $db = Zend_Db_Table_Abstract::getDefaultAdapter(); $select = $db->select() ->from($this->fournisseur,array('numero_fournisseur', 'nom_fournisseur', 'contact_fournisseur', 'adresse_fournisseur', 'code_postal_fournisseur', 'ville_fournisseur', 'numero_departement_fournisseur', 'numero_pays_fournisseur', 'telephone_fournisseur', 'fax_fournisseur', 'mail_fournisseur') ) return $db->fetchAll($select); } }
a la place de $this->fournisseur tu doi metre $this->_name .
cest lavariable declarer protected $_name qui contien le nom de la table
Autant pour moi...
Je n'ai plus la même erreur mais celle ci maintenant ...:
la ligne concernée est celle ci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3Parse error: parse error in C:\wamp\www\XXXXX\application\models\Fournisseurs.php on line 13
On va y arriver, je ne désespère pas !! avec des pros comme vous, ce n'est qu'histoire de peu de temps !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 return $db->fetchAll($select);![]()
d'apré votre code il te faut ; a la fin de la ligne ou il ya from
C'est bien ce que je disais, ce n'est qu'histoire de peu de temps !
Sa fonctionne parfaitement!
il me retourne le numéro et le nom du fournisseur comme demandé.
Une autre question me vient à l'esprit,
comment faire pour pouvoir récupérer le numéro du fournisseur que j'aurais préalablement séléctionné ?
toujours par cette méthode ?:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $id = (int)$this->_request->getParam('id');
controlleur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public function select_all_fournisseur($id) { $numero_fournisseur = '1'; $db = Zend_Db_Table_Abstract::getDefaultAdapter(); $select = $db->select() ->from($this->_name,array('numero_fournisseur', 'nom_fournisseur', 'contact_fournisseur', 'adresse_fournisseur', 'code_postal_fournisseur', 'ville_fournisseur', 'numero_departement_fournisseur', 'numero_pays_fournisseur', 'telephone_fournisseur', 'fax_fournisseur', 'mail_fournisseur') ) ->where('numero_fournisseur='.$id); return $db->fetchAll($select); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $id = (int)$this->_request->getParam('id'); $this->view->client = $client->select_all_article($id);
"Retour à la case départ" ...
J'ai à nouveau cette erreur :
Alors la, mystère mystère ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1' in C:\wamp\www\XXXXXX\library\Zend\Db\Statement\Pdo.php:228 Stack trace: #0 C:\wamp\www\XXXXX\library\Zend\Db\Statement\Pdo.php(228): PDOStatement->execute(Array) #1 C:\wamp\www\XXXXX\library\Zend\Db\Statement.php(300): Zend_Db_Statement_Pdo->_execute(Array) #2 C:\wamp\www\XXXXX\library\Zend\Db\Adapter\Abstract.php(468): Zend_Db_Statement->execute(Array) #3 C:\wamp\www\XXXXX\library\Zend\Db\Adapter\Pdo\Abstract.php(238): Zend_Db_Adapter_Abstract->query(Object(Zend_Db_Select), Array) #4 C:\wamp\www\XXXXX\library\Zend\Db\Adapter\Abstract.php(706): Zend_Db_Adapter_Pdo_Abstract->query(Object(Zend_Db_Select), Array) #5 C:\wamp\www\XXXXX\application\models\Fournisseurs.php(13): Zend_Db_Adapter_Abstract->fetchAll(Object(Zend_Db_Select)) #6 C:\wamp\www\ges in C:\wamp\www\XXXXX\library\Zend\Db\Statement\Pdo.php on line 234
cest une erreur au niveau requete sql renvoi la requete pour voir ou sqe trouve lerreur
Je donne pour information mon modèle :
C'est rageant bon sang !!!!
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 <?php class Fournisseurs extends Zend_Db_Table { protected $_name = 'fournisseur'; public function select_all_fournisseur($id) { $db = Zend_Db_Table_Abstract::getDefaultAdapter(); $select = $db->select() ->from($this->_name,array('numero_fournisseur', 'nom_fournisseur', 'contact_fournisseur', 'adresse_fournisseur', 'code_postal_fournisseur', 'ville_fournisseur', 'numero_departement_fournisseur', 'numero_pays_fournisseur', 'telephone_fournisseur', 'fax_fournisseur', 'mail_fournisseur') ) ->where('numero_fournisseur='.$id); return $db->fetchAll($select); }![]()
Voila.
Le problème viendrait de la ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 CREATE TABLE IF NOT EXISTS `fournisseur` ( `numero_fournisseur` int(11) NOT NULL AUTO_INCREMENT, `nom_fournisseur` varchar(50) NOT NULL, `contact_fournisseur` varchar(50) NOT NULL, `adresse_fournisseur` varchar(100) NOT NULL, `code_postal_fournisseur` varchar(5) NOT NULL, `ville_fournisseur` varchar(50) NOT NULL, `numero_departement_fournisseur` int(11) NOT NULL, `numero_pays_fournisseur` int(11) NOT NULL, `telephone_fournisseur` varchar(12) NOT NULL, `fax_fournisseur` varchar(12) DEFAULT NULL, `mail_fournisseur` varchar(30) DEFAULT NULL, PRIMARY KEY (`numero_fournisseur`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
puisque tu affiche toute les colon tu na pa a les reecrire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 from($this->_name)
Effectivement il est vrai que je n'ai pas à les réécrire.
Cependant, le problème persiste.
J'ai tout revérifié plusieurs fois, à un tel point que j'en ai compris vos codes !
mais malheureusement, depuis le début de notre conversation, cette erreur me suit !!![]()
jé tester avec votre code votre base et tou march bien, tu trouvra en piece jointe un ptit projet ou sa marche changer selement le nom de ta base dans l config.ini et ajouter le lien pour la librairy
Merci de vous soucier de mon problème.
Je teste le code exemple rapidement, je ne vois pas ce qui peut clocher ??
Note : je rencontre quelques problèmes avec wamp en ce moment, je ne pensais pas que le problème pouvait provenir de la ... je vais tenter une réinstallation complète et retenter tout sa.
Puisque sa fonctionne chez vous, il n'y a pas de raisons !!!
je peut faire tout mes autres selects, insert, update, delete etc sans le moindre soucis .... mais pas celui la ??
Étrangement bizarre !!!!![]()
SA FONCTIONNE !!!
Je ne sais par quel moyen étant donné que je n'ai rien changé ...
Comme je le précisais dans mes autres sujets, encore une fois, les personnes de ce forum m'ont été d'une aide précieuse !! Calme et censés, des commentaires, de l'aide et des explications, simplement => parfait !!!!!
Encore une fois![]()
Effectivement, code bel et bien fonctionnel (beaucoup simple et rapide que mon premier code qui de plus ne respectait pas le pattern MVC).
Je l'ai déjà réutilisé et modifié pas mal de fois.
IMPECCABLE, UN RÉGAL !!!!
Je vais de manière très très contente mettre ce sujet en
![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager