![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Jak skorzystać z AdoDB w Smarty wykorzystując modułowość Smartiego?
Mam następujące pliki: [php:1:fc665c0fa4] <?php // --- index.php --- // (...) $objDBConn = &ADONewConnection($dbms); $objDBConn->Connect($dbhost, $dbuser, $dbpasswd, $dbname); // (..) $objSmarty->assign( 'objDBConn', $objDBConn ); $output = $objSmarty->fetch( 'index.tpl' ); echo $output; ?> [/php:1:fc665c0fa4] Kod {* Smarty *}
{* --- index.tpl --- *} {include file="show_news.tpl"} Kod {* Smarty *}
{* --- show_news.tpl --- *} {include_php file="_includes/show_news.php"} {section name="news" loop=$newsData} {* (...) *} {/section} [php:1:fc665c0fa4] <?php // --- show_news.php --- // (...) $objNewsRecordset = $this->objDBConn->Execute($strSqlQuery); ?> [/php:1:fc665c0fa4] Dostaję w wyniku: Cytat Fatal error: Call to a member function Execute() on a non-object in D:...show_news.php on line...
I teraz mam pytanie - co robię źle, że nie mam dostępu do obiektu AdoDB z pliku show_news.php?? -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarząd Postów: 1 512 Pomógł: 2 Dołączył: 22.04.2002 Skąd: Koszalin ![]() |
ja mialem wczotaj ten sam problem i Seth usdzielił mi pomocy
oto co winno być [php:1:2bf68f0feb]<?php // --- show_news.php --- // (...) global $objDBConn; $objNewsRecordset = $this->objDBConn->Execute($strSqlQuery); ?>[/php:1:2bf68f0feb] i po kłopocie ... @scanner widze ze idziemy tym samym tempem :-) |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
1. zamiast:
$output = $objSmarty->fetch( 'index.tpl' ); echo $output; $objSmarty->display( 'index.tpl' ); 2. Po co przerzucać na smarty zabawę z rekordami? Czy nie wymagamy wtedy zbyt dużo od designera? Ja robię to tak: [php:1:c5b1163dd4]<?php $arrData = $this->objDBConn->GetAll( $strSqlQuery ); $objSmarty->assign_by_ref( "arrData", $arrData); //lub $objSmarty->assign( "arrData", &$arrData); (daje to chyba ten sam efekt) ?>[/php:1:c5b1163dd4] -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Zamiast [php:1:ee9393b5c5]<?php
$arrData = $this->objDBConn->GetAll( $strSqlQuery ); ?>[/php:1:ee9393b5c5] Powinno być: [php:1:ee9393b5c5]<?php $arrData = $objDBConn->GetAll( $strSqlQuery ); ?>[/php:1:ee9393b5c5] Pozatym niby działa, tylko, że wywołując w ten sposób zapytanie i sprawdzając: [php:1:ee9393b5c5]<?php var_dump( $arrData ); ?>[/php:1:ee9393b5c5] Otrzymuję tablicę pustą - a zapytanie wywołane z PhpMyAdmin zwraca dobre wyniki. Co znowu spieprzyłem? Bo na logikę, wszystko musi działać... @itsme: ja teraz nadrabiam zaległości urlopowe - niedługo Cię przegonię, hehe ![]() -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.08.2025 - 23:19 |