|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||||||||||||||
|
Membre régulier
![]() Inscription : août 2008 Messages : 402 ![]() |
Bonjour, je ne maîtrise pas bien la lecture d'une table il y a des choses que je ne sais pas
on va partir de cette table simple Code :
Code :
Code :
Code :
dite mois si j'ai juste, donc d'après ce que j'ai compris en instanciant new Application ... j'ai son modèle donc la methode fetchAll peut chercher tous les noms des champs et cela donne accès à la base de donnée(mot de pass, login), je pense que c'est Zend_Db_Table_Abstract qui le permet de faire tous cela. maintenant j'ai besoin d'une jointure entre 2 tables, il faut alors utiliser zend_db select(), il me fait que j'appelle 2 tables. Code :
Code :
Code :
merci d'avances pour la réponses |
||||||||||||||
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : février 2011 Messages : 114 ![]() |
Qu'est ce qui est affiché comme erreur?
|
|
|
00
|
|
|
#3 |
![]() ![]() Loïc Développeur Web Inscription : février 2011 Messages : 678 ![]() |
$db n'existant pas cela est normal.
Si tu veux récupérer ton adaptateur dans ton modèle tu peux faire Quelle table de tes deux tables te permet de faire une liaison entre ces deux? |
|
|
00
|
|
|
#4 | ||||||
|
Membre régulier
![]() Inscription : août 2008 Messages : 402 ![]() |
merci de vos réponses
Code :
Code :
Code :
sinon si on faisait un modèle qui contient les 2 tables ? ou je me compliques le choses pour rien est t'il plus judicieux de faire la requete dans le modèle ou le contrôleur ? |
||||||
|
|
00
|
|
|
#5 | |||||
|
Membre régulier
![]() Inscription : février 2011 Messages : 114 ![]() |
Citation:
Comment est fait ton modèle de données? Apparemment c'est ta table 'image' qui fait référence à ta table' admin'. Dans ce cas, dans ta classe Model_Table_Image() tu dois avoir quelque chose comme ça: Code :
Code :
|
|||||
|
|
00
|
|
|
#6 |
|
Membre régulier
![]() Inscription : août 2008 Messages : 402 ![]() |
merci de ton script, c'est exactement cela pour les clefs.
je pense pense avoir mieux compris, je dois bien concevoir mon modèle avant de lancer une requête, mais du coup même si on utilise le moteur mysiam, grâce à ces 2 modèles j'ai fait un lien entre clés primaires et clés étrangères ? Une fois que ces 2 modèles seront prêts, dès que je lancerai ma requête en instanciant le modèle image dans le contrôleur , j'aurai tous les éléments à ma disposition pour executer ma jointure ? |
|
|
00
|
|
|
#7 |
![]() ![]() Loïc Développeur Web Inscription : février 2011 Messages : 678 ![]() |
Utilise innodb car myisam ne gére pas les contraintes
|
|
|
00
|
|
|
#8 |
|
Membre régulier
![]() Inscription : août 2008 Messages : 402 ![]() |
j'ai changer en inobb par contre faut t'il faire la lisaison pour les contraintes(clés etrangère et cles primaires) ? car je ne vois pas comment on pourrais faire avec phpmyadmin, il faut laisser peut être comme ça ?
|
|
|
00
|
|
|
#9 |
![]() ![]() Loïc Développeur Web Inscription : février 2011 Messages : 678 ![]() |
Pour que les contraintes soient gérer au nivea MySQL il faut aller sur tes tables puis structure et en bas tu auras gestion des relations
|
|
|
00
|
|
|
#10 | ||
|
Membre régulier
![]() Inscription : août 2008 Messages : 402 ![]() |
merci
voici l'exportation Code :
|
||
|
|
00
|
|
|
#11 |
![]() ![]() Loïc Développeur Web Inscription : février 2011 Messages : 678 ![]() |
Il a l'air bon aprés faut juste que tu fasses attention au niveau des cascade constraint ça dépend de tes relations, mais ici ça semble bon car tu peux pas avoir un admin sans utilisateur
|
|
|
00
|
|
|
#12 | ||
|
Membre régulier
![]() Inscription : août 2008 Messages : 402 ![]() |
merci
cela fait 1 semaine que j'essaye de suivre un livre, mais je n'y arrivais pas à cause d'un autoload qui était déprécié, il fallait juste utiliser l'autoloader.. juste une parenthèse Dans tous les tutos du livre de zend ou du bouquin il utlisait $db et je ne comprenais pas pourquoi cela ne fonctionne pas dans mon modèle ou dans mon controller, en fait ce que je n'avais pas compris c'était que tous les tutos que je vois était utliser sans le MCV, je n'avais pas compris cela , donc il faut que je fasse attention et que je doit me poser la question si le script est sous MCV oui simplement sur un fichier qui inclus la libraire zend avec l'autoloader. Maintenant je crois que je vais pouvoir suivre les tutos et progrésser. une autre question après je reviens a cette histoire de jointure si je fait ce script Code :
- j'ai crée une boucle de 10 requêtes SQL (ce qui n'est pas bon pour le serveur) - ou j'ai crée une objet qui m'envoie toute les réponses, et avec cela on recherche, on trie et on affiche le résultat( ce qui ne surcharge pas le serveur SGBD), je n'ai fait qu'appeller qu'une fois le serveur mysql ? |
||
|
|
00
|
|
|
#13 |
![]() ![]() Loïc Développeur Web Inscription : février 2011 Messages : 678 ![]() |
tu crée 10 requêtes
|
|
|
00
|
|
|
#14 | ||||
|
Membre régulier
![]() Inscription : août 2008 Messages : 402 ![]() |
ok mais alors , l'exemple du livre n'est pas bon ? cela va faire ramer le moteur, comment on fait dans ce cas pour alléger cela? avec un fetchAll(), puis on va trier avec php?
sinon je vais déjà essayer de faire la requête sans être dans le MVC Code :
Code :
where A.id_user = I.id_user? |
||||
|
|
00
|
|
|
#15 | ||
|
Membre régulier
![]() Inscription : février 2011 Messages : 114 ![]() |
Pour faire la jointure dans ta requête tu peux faire:
Code :
|
||
|
|
00
|
|
|
#16 |
![]() ![]() Loïc Développeur Web Inscription : février 2011 Messages : 678 ![]() |
ça dépend ce que tu veux récupérer si tu veux seulement les données avec un id de 1 à 10 tu peux utiliser id between 1 and 10 ou where id>0 and id <11
|
|
|
00
|
|
|
#17 | ||||||||||
|
Membre régulier
![]() Inscription : août 2008 Messages : 402 ![]() |
Code :
ta requête fonctionne très bien bon maintenant que j'ai la jointure et que le résultat de la requête est ok, j'ai essayer de l'intégré dans le contrôleur, j'ai donc essayé ceci: Code :
Code :
Image Code :
Code :
|
||||||||||
|
|
00
|
|
|
#18 |
![]() ![]() Loïc Développeur Web Inscription : février 2011 Messages : 678 ![]() |
Tu as mis
essaye |
|
|
00
|
|
|
#19 | ||||||||||
|
Membre régulier
![]() Inscription : août 2008 Messages : 402 ![]() |
oui, j'ai du tapez un peu trop vite mais j'ai la même erreur,
j'ai fait un petit test, j'ai instancier le modèle Image, c'est bien lui qui possèdent la clef etrangère dans le modèle ? Code :
Code :
ici erreur Code :
Code :
Code :
|
||||||||||
|
|
00
|
|
|
#20 | |||||
|
Membre régulier
![]() Inscription : février 2011 Messages : 114 ![]() |
Tu dois avoir une erreur dans ton modèle, ta classe modele de la table Admin s'appelle 'Application_Model_DbTable_Admin' et non 'Model_Table_Admin'. Donc dans la définition de ta classe Image, quand tu fais référence à la table 'admin', tu dois mettre:
Code :
Code :
Citation:
|
|||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com