Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql]problem z pobieraniem danych
Forum PHP.pl > Forum > Przedszkole
DiNoOsS
Witam, pracuję nad swoją stroną i chcę wyświetlić dane z bazy danych i używam takiego zapytania :


$cena = $db->getRow('SELECT cena FROM uzytkownicy');


Później poprzez smarty zapisuje zmienna aby mozna byloby ją wyświetlic w pliku .TPL i tu pojaiwa się problem ...

Zamiast wyświetlić dane z danego pola to wswietla tylko słowo - Object

Czym może to być spowodowane ? Jakie błędy popełniam ?
mild
Prawdopodobnie definiujesz zla zmienna do wyswietlenia w smartach. Wrzuc tutaj kawalek kodu ktory za to odpowiada.
DiNoOsS
Oto ten fragment kodu :

$smarty -> assign("Temat", $temat);

Poczym w pliku .TPL umieszczam :

{$Temat) (próbowałem także z małej litery ale wtedy nic sięnie wyświetla ..)
Cienki1980
Zdecyduj się co pobierasz, a co wyświetlasz.
W pierwszym poście piszesz zmienną $cena .. a w kolejnym że wysyłasz do tpl'a $temat.
DiNoOsS
O sory, ten przyklad z cena to nie jest z pliku tongue.gif napisałem go na szybko a poprawny kod wygląda tak :



$temat = $db->getRow('SELECT temat FROM uzytkownicy');

i później

$smarty -> assign("Temat", $temat);

i do pliku .TPL {$Temat}

I zamiast wyświetlić informacje z bazy danych to wyskakuje napis : Object ...
mike
No i bardzo dobrze Ci wyskakuje. Dokładnie to co przekazujesz.
Co to jest $db? I co zwraca getRow()? Zwraca obiekt.
Dopiero z niego musisz sobei wyciągnąć wartość.
DiNoOsS
A jakto zrobic ? Poprzez polecenia print czy jak ?
mike
Cytat(DiNoOsS @ 2.10.2007, 10:22:34 ) *
A jakto zrobic ?
A co to jest $db? Obiekt jakiej klasy?
Dowiedz się z czego korzystasz (seoją droga głupota korzystać z czegoś czego się nie zna) i przeczytaj dokumentację funkcji getRow().
drPayton
Może ADODB, a pewnie bez znaczenia, bo:

getRow, jak sama nazwa wskazuje zwraca WIERSZ (a ściślej tablicę jednowymiarową), więc nie

  1. <?php
  2. $temat = $db->getRow('SELECT temat FROM uzytkownicy');
  3. $smarty -> assign("Temat", $temat);
  4. ?>

tylko
  1. <?php
  2. $temat = $db->getRow('SELECT temat FROM uzytkownicy');
  3. $smarty -> assign("Temat", $temat['temat']);
  4. ?>

Albo (o ile to ADODB):
  1. <?php
  2. $temat = $db->getOne('SELECT temat FROM uzytkownicy WHERE `jakis warunek` ');
  3. $smarty -> assign("Temat", $temat);
  4. ?>

Przy założeniu oczywiście, że zapytanie zwraca wynik poprawnie, a może być że nie, bo chcesz pobrać wybrany wiersz a nie definiujesz żadnego warunku...
DiNoOsS
Ok działa smile.gif Dzięki Wszystkim Za Pomoc smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.