![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Chcę zrobić coś takiego jak to opisano na tej stronie http://framework.zend.com/manual/en/zend.db.select.html:
Jednak przed tym muszę stworzyć $db - opisali to tutaj http://framework.zend.com/manual/en/zend.db.html:
Tylko dlaczego ja mam podawać w Zend_Db_Adapter_Pdo_Mysql() login do bazy, hasło do bazy, nazwę bazy danych itd. - nie może tych informacji pobrać z pliku "app" położonego w application\config ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Z ZF miałem krótką styczność ale z tego co pamiętam to należało ustawić domyślny adapter dla bazy danych:
http://framework.zend.com/manual/en/zend.d...default-adapter |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Ja mam to zrobione w taki sposób:
oraz config_db.ini Kod [production] db.adapter = pdo_mysql db.params.host = localhost db.params.username = user_prod db.params.password = pass_prod db.params.dbname = dbname_prod db.params.profiler = false [test : production] db.params.host = localhost db.params.username = user_test db.params.password = pass_test db.params.dbname = dbname_test db.params.profiler = true Plik config_db.ini znajduje się u mnie w katalogu /application/config Katalog application mam dodany do inclide path. -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ja umieściłem w pliku 'bootstrap.php':
A w pliku 'index.php' w funkcji 'indexAction()':
i dostaję komunikat:
Nie widzi u mnie stworzonego obiektu '$db' nie wiem dlaczego ![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 52 Pomógł: 10 Dołączył: 6.10.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
w bootstrapie:
Kod Zend_Registry::set('db', $db); w controllerze: Kod $db = Zend_Registry::get('db') $select = $db->select->from('dupa.8'); // nie lepiej korzystać z modelu? |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Zacznij czytać dokumentację ZF. Wydaje mi się, że zapytanie pakujesz bezpośrednio do kontrolera podczas gdy należy je wykonać w modelu. Oto fragment mojego przykładowego modelu:
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Zdaje się, że to co napisał 'thm' pomogło.
Tylko jeszcze ostatnia sprawa żeby już zakończyć, mam problem z wyświetleniem tytułów książek - zasadniczo chcę zrobić coś bardziej skomplikowanego, ale najpierw coś właśnie tak prostego, a mimo to mi nie wychodzi. Robiłem na różne sposoby i nie udaje mi się wyświetlić tytułów książek:
Ten post edytował nieraczek 23.10.2008, 09:16:14 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
-------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Zdaje się, że to co napisał 'thm' pomogło. Pomogło w sensie, że działa. Jednak w ten sposób nie powinno się pisać aplikacji. Jeżeli już porywasz się na ZF to staraj się pisać porządnie, a nie byle działało. Fizycznym pobieraniem danych z bazy powinien zajmować się model, a nie kontroler. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem, dziwny jest ten ZF, z 'toArray()' nie dostaje wynikow z tabeli, a z 'toArray()' mam kolejny blad:
Staram się pisać porządnie, ale jeśli potem chciałbym pobrać dane z trzech tabel przy użyciu JOIN'a to i tak przecież musiałbym pisać w ten sposób. |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Z tym toArray to się trochę rozpędziłem. Mój błąd.
Usuń toArray() i zobacz co Ci wypluje var_dump($tab); $tab to zmianna, do której zapisujesz wynik działania fetchAll. Cytat Staram się pisać porządnie, ale jeśli potem chciałbym pobrać dane z trzech tabel przy użyciu JOIN'a to i tak przecież musiałbym pisać w ten sposób. Od tego masz przecież Zend_Db.
-------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Wypluło mi:
array(6) { [0]=> array(6) { ["id"]=> string(1) "1" ["id_autora"]=> string(1) "1" ["id_rodzaju"]=> string(1) "1" ["tytul"]=> string(22) "Ksiazka o grzybach" ["cena"]=> string(5) "12.99" ["liczba_stron"]=> string(2) "20" } [1]=> array(6) { ["id"]=> string(1) "2" ["id_autora"]=> string(1) "1" ["id_rodzaju"]=> string(1) ....... itd. Widzę, że ten ZF to jak nowy język i do tego do wszystkiego są własne funkcje ZF ![]() Ten post edytował nieraczek 23.10.2008, 13:59:44 |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
To Ci wyświetli tytuły. Muszę się zgodzić z opinią ~phpion. Jeśli zrobiłbyś to w modelu, wówczas znacznie szybciej można było znaleźć problem. Szczerze przyznam, że nie używam Zend_Db osobno. Wszystko robię w oparciu o model. Cytat Widzę, że ten ZF to jak nowy język i do tego do wszystkiego są własne funkcje ZF Nie taki diabeł straszny jak go malują. W ZF stworzyli swoją warstę abstrakcji, która po poznaniu jest moim zdaniem bardzo przyjemna w użyciu.
-------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
ok - dzieki - dziala, tylko w foreach zamiast '$res' to '$tab'
![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 04:53 |