Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [smarty] - problem z petla
itsme
post
Post #1





Grupa: Zarząd
Postów: 1 512
Pomógł: 2
Dołączył: 22.04.2002
Skąd: Koszalin




witam szanowne grono :-)

Z bazy danych wyciagam dane w sposob nastepujacy
[php:1:dd09c45e64]<?php
$dane=telekomunikacja::wykaz_telokom($klient->id);
$ko = mysql_fetch_array($dane);
?>[/php:1:dd09c45e64]
dane z phpmyadmin po wklejeniu zapytania wygladaja nastepujaco
Cytat
wartosc  nazwa   - nazway kolumn
346-555-555 domowy  
346-52-16 centrala  
11 centrala  
czyli 3 rekordy. Wysylam to do smarty.
[php:1:dd09c45e64]<?php
$smarty->assign (ko,$ko);
$smarty->display( 'wykaz-telefonow.tpl' );
?>[/php:1:dd09c45e64]
plik wykaz-telefonow.tpl wyglada nastepujaco
Kod
<tr>

  <td><CENTER>Typ</CENTER></td>

  <td><CENTER>Wartosc</CENTER></B></TD>

  <td><CENTER>domyslny</CENTER></TD>

</tr>

  {foreach name=outer item=contact from=$ko}

<tr>

  <td align=right>{$ko.nazwa}&nbsp;&nbsp;&nbsp;</td>

  <td align=left>&nbsp;&nbsp;<B>{$ko.wartosc}</B></TD>

  <td><CENTER><input name="domyslny" type="radio" value={$ko.id}></CENTER></TD>

</tr>

{/foreach}

</table>

zas wynik dzialania tego to (KOD):
Kod
<tr>

  <td><CENTER>Typ</CENTER></td>

  <td><CENTER>Wartosc</CENTER></B></TD>

  <TD><CENTER>domyslny</CENTER></TD>

</tr>

<tr>

  <td align=right>domowy&nbsp;&nbsp;&nbsp;</td>

  <td align=left>&nbsp;&nbsp;<B>346-555-555</B></TD>

  <td><CENTER><input name="domyslny" type="radio" value=></CENTER></TD>

</tr>

<tr>

  <td align=right>domowy&nbsp;&nbsp;&nbsp;</td>

  <td align=left>&nbsp;&nbsp;<B>346-555-555</B></TD>

  <td><CENTER><input name="domyslny" type="radio" value=></CENTER></TD>

</tr>

<tr>

  <td align=right>domowy&nbsp;&nbsp;&nbsp;</td>

  <td align=left>&nbsp;&nbsp;<B>346-555-555</B></TD>

  <td><CENTER><input name="domyslny" type="radio" value=></CENTER></TD>

</tr>

<tr>

  <td align=right>domowy&nbsp;&nbsp;&nbsp;</td>

  <td align=left>&nbsp;&nbsp;<B>346-555-555</B></TD>

  <td><CENTER><input name="domyslny" type="radio" value=></CENTER></TD>

</tr>

</table>

wyglad
Kod
Typ          Wartosc      domyslny

domowy      346-555-555  

domowy      346-555-555  

domowy      346-555-555  

domowy      346-555-555  

czyli 4 rekordy gdzie wszystkie sa takie same i doszedlem ze wszystkie sa pierwszym rekordem z zapytania. Nie wiem jak na poziomie smarty przeskakiwac o jeden i dlaczego sa 4 a nie 3 rekordy ?


--------------------
brak sygnaturki rowniez jest sygnaturką
Go to the top of the page
+Quote Post
scanner
post
Post #2





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Czy mi się zdaje, czy [manual:0211c1975d]mysql_fetch_array()[/manual:0211c1975d] zwraca pojedynczy wiersz wyniku, a nie całą tabelkę?


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
[Regis]
post
Post #3





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 19.04.2003
Skąd: Wrocław

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


Cytat
Czy mi się zdaje, czy [manual:1c809e0f8f]mysql_fetch_array()[/manual:1c809e0f8f] zwraca pojedynczy wiersz wyniku, a nie całą tabelkę?


Jak sie go wpakuje w while-a na przyklad, to bedzie zwracal kolejne wiersze az do konca. Sam z siebie zwraca tylko jeden smile.gif Ale ja sie na Smarty nie znam smile.gif
Go to the top of the page
+Quote Post
itsme
post
Post #4





Grupa: Zarząd
Postów: 1 512
Pomógł: 2
Dołączył: 22.04.2002
Skąd: Koszalin




ja juz jestem gl000pi ... przeskoczylem na obiekty zapomnialem o tablicach ... ide przewietrzyc umysl ...
jezeli ktos jeszcze widzi jakies bledy prosze o info

pozdrawiam


--------------------
brak sygnaturki rowniez jest sygnaturką
Go to the top of the page
+Quote Post
scanner
post
Post #5





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Cytat
"]Jak sie go wpakuje w while-a na przyklad
Ale itsme nie dał while... smile.gif
Cytat
ja juz jestem gl000pi ...
Zapamiętamy smile.gif


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
itsme
post
Post #6





Grupa: Zarząd
Postów: 1 512
Pomógł: 2
Dołączył: 22.04.2002
Skąd: Koszalin




ale zgodnie z dokumentacja smarty przetlumaczona przez rzseattle w takiej petli winno mi przeskakiwac i jeden .... sam nie wiem
=================
przewietrzylem sie i zrobilem print_r($ko) oto wynik
Kod
Array ( [0] => 346-555-555 [wartosc] => 346-555-555 [1] => domowy [nazwa] => domowy )
zas zapytanie z ktore mam tablice $ko wstawione bezposrednio do mySQL-a zwraca wartosc
Kod
346-555-555 domowy

11 centrala

346-52-16 centrala


--------------------
brak sygnaturki rowniez jest sygnaturką
Go to the top of the page
+Quote Post
rzseattle
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 554
Pomógł: 0
Dołączył: 4.04.2002
Skąd: Tychy

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


dokladnie -. ja przez smartego wogole zaprzestalem pracy na bezposrednich wynikach zapytania i napisalem sobie cala klase krora przetwarza wyniki oto z jedna z funkcji/: [php:1:09e81dbfcb]<?php
function to_array ( $query ) {
$r = $this->query_( $query );
while( $line = mysql_fetch_assoc( $r ) ) {
$data[]=$line;
}
$wynik=$data;
return $wynik;
}
?>[/php:1:09e81dbfcb]
i zycie stalo sie o wiele prostrze potem bez problemu mozna sie odwolywac do kazdego wiersza co jest bardzo ale to bardzo wygodne


--------------------
"Real children don't go hoppity-skip unless they are on drugs."
Go to the top of the page
+Quote Post
itsme
post
Post #8





Grupa: Zarząd
Postów: 1 512
Pomógł: 2
Dołączył: 22.04.2002
Skąd: Koszalin




i wlasnie tego mi brakowalo :-)

dziala


--------------------
brak sygnaturki rowniez jest sygnaturką
Go to the top of the page
+Quote Post
GeoS
post
Post #9





Grupa: Zarejestrowani
Postów: 602
Pomógł: 0
Dołączył: --
Skąd: W - WA -> GRO

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


Ze Smarty nie korzystam i mam nadzieje, ze nie bede musial (moze niesluszna i zbyt pochopna, ale nie o tym ten post).

Blad wedlug mnie jest juz w 2 linii kodu:
[php:1:17494217d0]<?php
$dane=telekomunikacja::wykaz_telokom($klient->id);
$ko = mysql_fetch_array($dane);
?>[/php:1:17494217d0]

Jak wykazal moj test, w twoim przypadku powininen on miec odrobine inna postac:
[php:1:17494217d0]<?php
$dane=telekomunikacja::wykaz_telokom($klient->id);

while($data = mysql_fetch_array($dane))
$ko[] = $data;
?>[/php:1:17494217d0]

Oczywiscie podkreslam, ze moge sie mylic.


--------------------
Zanim zadasz pytanie, zawsze wczesniej zajrzyj do manuala ( pl.php.net/manual/pl/ ).
Szukasz skryptow - www.hotscripts.com
Go to the top of the page
+Quote Post
DeyV
post
Post #10





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Cytat
dokladnie -. ja przez smartego wogole zaprzestalem pracy na bezposrednich wynikach zapytania i napisalem sobie cala klase...
A czy nie czasem do tego przydaje się ADoDB??


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
rzseattle
post
Post #11





Grupa: Przyjaciele php.pl
Postów: 554
Pomógł: 0
Dołączył: 4.04.2002
Skąd: Tychy

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


Cytat
Cytat
dokladnie -. ja przez smartego wogole zaprzestalem pracy na bezposrednich wynikach zapytania i napisalem sobie cala klase...
A czy nie czasem do tego przydaje się ADoDB??


szczeze mowiac poprostu jeszcze nie chcialo mi sie za to wziasc, pozatym wykozystuje swoj bo dla mnie jest najbardziej optymalny i nie potrzebuje czegos wiecej,, hmm kiedys programowanie w php to bylo echo + mysql_query, a teraz SMARTY + ADoDB - zauwazam ze maual z php juz nie wystarcza i na moim twardzielu zaczyna mnozyc sie od roznych dokumentacji - ciekawe kiedy braknie miiejsca na moich 40 gigach laugh.gif laugh.gif laugh.gif
a tak na serio to DeyV masz racjie predzej czy pozniej i tak bede musial sie za to wziasc
ps wlasnie wrocilem z przystanku Woodstock i jestem caly pocharatany wiec pewnie nie dzisiaj laugh.gif laugh.gif laugh.gif


--------------------
"Real children don't go hoppity-skip unless they are on drugs."
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 - 20:42