Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [smarty] Problem z przydzieleniem do zmiennej wyniki zapytania
Avatarus
post
Post #1





Grupa: Zarejestrowani
Postów: 304
Pomógł: 0
Dołączył: 12.12.2006
Skąd: Pszów

Ostrzeżenie: (0%)
-----


Witam
Potrzebuje przydzielić do zmiennej wynik zapytania SQL

robię to tak:
  1. <?php
  2. $wynik=$db->query('select t.product_name from prod_translations t,products p where p.product_id=pid and p.producer_id='.$product->producer_id.'');
  3.                $inne=$wynik->fetch();
  4.                
  5.                $smarty->assign('inne',$inne);
  6. ?>


a chce to wyświetlić tym:

  1. <?php
  2. {foreach from=$inne item=nazwa key=k}
  3.                                                        
  4.                                                            
  5.                                                            Nazwa:    {$nazwa} <br>
  6.                                                            
  7.                                                                
  8.                                            {/foreach}
  9. ?>


z testów wynika że zmienna jest źle przypisywania, tak jkby zmienna inna w pliku .tpl miała tylko 1 wiersz tego zapytania.

Nie lubię i nie znam się na smarty, ktoś zna rozwiązanie?

Pozdrawiam


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




zanim dojdziesz do smarty, to moze sprawdź najpierw w php, ile ty masz wynikow....
  1. <?php
  2. $inne=$wynik->fetch();
  3. print_r($inne);
  4. ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Avatarus
post
Post #3





Grupa: Zarejestrowani
Postów: 304
Pomógł: 0
Dołączył: 12.12.2006
Skąd: Pszów

Ostrzeżenie: (0%)
-----


no i jest jedno pole, co jest niemożliwe, bo jak sprawdzam to zapytanie w phpmyadmin to wypluwa 8 wyników (co jest poprawnym rezultatem).
Jak więc przypisać ten wynik żeby zmienna $inne miała całą tablice wyników z SQL?


--------------------
Go to the top of the page
+Quote Post
phpion
post
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Użyj pętli, np. while. Przykład masz tutaj:
http://pl2.php.net/manual/pl/function.mysql-fetch-assoc.php
Zrób analogicznie na Twojego przypadku.
Go to the top of the page
+Quote Post
Avatarus
post
Post #5





Grupa: Zarejestrowani
Postów: 304
Pomógł: 0
Dołączył: 12.12.2006
Skąd: Pszów

Ostrzeżenie: (0%)
-----


no tak ale to by wymagało stworzenia na nowo warstwy do połączenia z bazą itp...wole już korzystać z tego co jest.
Nie ma innej meody na załadowanie tablicy do zmiennej?


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




przeciez phpion nie powiedzial ze masz zrobic tak jak w manualu, ale analogicznie. Jak nie wiesz co znaczy to slowko to poszukaj na wiki.
Analogicznie w tym przypadku to jest uzycie petli while tak jak to pokazano na przykladzie w manualu. Ale o tym phpion tez juz wspomnial w swoim poscie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Avatarus
post
Post #7





Grupa: Zarejestrowani
Postów: 304
Pomógł: 0
Dołączył: 12.12.2006
Skąd: Pszów

Ostrzeżenie: (0%)
-----


wiem mój błąd, źle zrozumiałem jego słowa.
P.S nie tak ostro tongue.gif


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
P.S nie tak ostro

No to podsumiujmy fakty:
1) Napisales kod smarty, ktory zwracal ci jeden rekord. Oczywiscie od razu z pretensją do smarty. Ale zeby sprawdzic czy wogole masz cos wiecej, zanim jeszcze przypiszesz do smarty, to nie raczyles wpasc na tak oczywistą rzecz

2) Jak juz po delikatnej sugesti sprawdziles, ze dostajesz tylko jeden rekord, to lecisz z tekstem
Cytat
no i jest jedno pole, co jest niemożliwe

Nawet nie raczyles sprawdzic, co robi twoja funkcja, ktorej uzywasz. jakbys sprawdzil, to bys wiedzial ze zwraca tylko jeden rekord i nie pisal takich glupot.

3) slowko analogicznie.

Uwierz na słowo, naprawdę bylem nad wyraz mily winksmiley.jpg

edit down:
no coz, mam inne zdanie na ten temat, ale faktycznie nie robmy tu offtopa. moj poprzedni post byl jedynie wynikem dziwnego tekstu:
Cytat
P.S nie tak ostro
podczas gdy nic ostrego nie padlo w tym temacie
sprawy z bliskimi nawet nie bede komentowal...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Avatarus
post
Post #9





Grupa: Zarejestrowani
Postów: 304
Pomógł: 0
Dołączył: 12.12.2006
Skąd: Pszów

Ostrzeżenie: (0%)
-----


Drogi panie nospor
nie każdy jak ty jest aż tak inteligenty, ja widać jestem za tobą daleko w tyle, a może po prostu dzisiejszych 12h w pracy mój mózg był na tyle zmęczony że nie zauważył od razu problemu.
Nie mam pretensji do smarty, byłem zdziwiony że nie działa, ale widać mój błąd przeoczyłem oczywistą sprawę.
Panie moderatorze traktujmy innych z szacunkiem, każdy ma lepszy i gorszy dzień, czasem człowiek jest zmęczony i potrzebuje trochę czasu żeby "zaskoczyć".

Jeśli to było miłe to współczuje pana bliskim.

P.S wiem że zrobił się offtop, ale trochę mnie zdziwiło pana zachowanie.

Życzę miłej nocy,
Pozdrawiam


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 13:30