Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Smarty i Petlja u petlji

[es] :: PHP :: Smarty template engine :: Smarty i Petlja u petlji

[ Pregleda: 6384 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

spezia

Član broj: 134818
Poruke: 355
*.ptt.rs.



+6 Profil

icon Smarty i Petlja u petlji04.10.2009. u 09:06 - pre 176 meseci
Ovako ,imam tabelu u bazi
| id | link | country |

I podatke :

| 1 | www.link1.com | Srbija |
| 2 | www.link2.com | Srbija |
| 3 | www.link3.com | Srbija |
| 4 | www.link8.com | UK |
| 5 | www.link9.com | Bosna |
| 6 | www.link15.com| Bosna|

Sada ima stranicu za prikaz,koja bi treba,o da pokaze ovako (kao portal ):
_____________________
| Srbija |
______________________
linkovi iz srbije....

______________________
| Bosna |
_______________________

linkovi iz bosne...

Trebalo bi prvo "select country from ...";
....
$con=$p[country];
....
Zatim drugi upit "select * from ... where country='$con'";

Sada je problem kako pokazati...
Ja obicno skupljam podatke preko
[[foreach from= item=]]
petlje,koja nije u mogucnosti ovo da odradi..
Kako bi moglo ovo da ide?
Ima i drugo resenje da se napravi jos jedna tabela,ali mene zanima da li moze sve preko jedne?
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: Smarty i Petlja u petlji04.10.2009. u 10:18 - pre 176 meseci
Au, pa ja mislim da smo jedno 20, 30 puta pričali na tu temu...
Code:
{assign var=country val=''}
{foreach from=$linkovi item=link}
    {if $link.country != $country}
         <p>{$link.country}</p>
         {assign var=country val=$link.country}
    {/if}
    {$link.link} <br />
{/foreach}
 
Odgovor na temu

spezia

Član broj: 134818
Poruke: 355
*.ptt.rs.



+6 Profil

icon Re: Smarty i Petlja u petlji04.10.2009. u 21:38 - pre 176 meseci
Hvala...
Samo jedno podpitanje. Meni javlja gresku

Warning: Smarty error: [in linkovi.tpl line 11]: syntax error: assign: missing 'value' parameter in C:\AppServ\www\aleks\smarty\libs\Smarty.class.php on line 1083

Pokusao sam da stavim val="$country", val='$country', val=$country,
Znaci ne radi mi IF blok.
Ako ponovo pokrenem stranicu,onda ne izbacuje ovu gresku ali radi po starom bez IF.Znaci svaki drugi put izbacuje gresku i nikad ne vidi if.
Javljalo je i za red gore istu gresku
[[assign var=country val=' ']]
Samo sto sam prebacio u php fajl kao pocetnu vrednost


[Ovu poruku je menjao spezia dana 05.10.2009. u 11:20 GMT+1]

[Ovu poruku je menjao spezia dana 05.10.2009. u 11:21 GMT+1]
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
91.148.83.*



+13 Profil

icon Re: Smarty i Petlja u petlji05.10.2009. u 10:26 - pre 176 meseci
A da stavis:

Code:

... 'value' ... 

umesto

... 'val' .... 



? :-)
 
Odgovor na temu

spezia

Član broj: 134818
Poruke: 355
*.ptt.rs.



+6 Profil

icon Re: Smarty i Petlja u petlji05.10.2009. u 11:01 - pre 176 meseci
Jedino sto ne javlja gresku vise ali isto se ponasa kao da ne postoji IF blok...
Stampa
Srbija
link1
Srbija
link2
Srbija
link3
Umesto sve pod samo jednom Srbija
 
Odgovor na temu

spezia

Član broj: 134818
Poruke: 355
*.ptt.rs.



+6 Profil

icon Re: Smarty i Petlja u petlji05.10.2009. u 11:04 - pre 176 meseci
Evo kako ide kod kod mene
Code:

[[foreach from=$link item=l]]
    [[if $l.country!= $con]]

   <div class="admin_tab"><span class="">[[$l.country]]</span></div>   
    [[assign var=con value=$link.country]]
     [[/if]]
  <div align="left"><br />
  
    <span class="right_text"> 
    
      <a href="[[$l.link]]" class="menu">[[$l.linkname]]</a><br />
     
     </span>
      <br />
  </div>
 
[[/foreach]]  

i Logika
Code:

function home_linkovi() {
 global $smarty;
 

 $result=mysql_query("SELECT linkname,link,country FROM links WHERE active='1' ");
        while($l=mysql_fetch_array($result)){
        
         $link[$i++]=$l;
         
         }
         
 $con=""; // postavljamo pocetnu vrednost promenljive koju koristimo za petlju u pelji u template
 
    $smarty->assign(array("link"=>$link,
                          "con"=>"$con"));
  $smarty->display("linkovi.tpl");
 }



[Ovu poruku je menjao spezia dana 05.10.2009. u 18:16 GMT+1]

[Ovu poruku je menjao spezia dana 05.10.2009. u 18:54 GMT+1]
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-3.sezampro.rs.



+33 Profil

icon Re: Smarty i Petlja u petlji05.10.2009. u 15:42 - pre 176 meseci
Pa jel radi, ili ne? Ako ne radi, onda verovatno nisi stavio {assign var=country value=''} ispred foreach petlje. Moraš tu promenljivu $country, koja igra ulogu markera, da deklarišeš pre foreach-a.
 
Odgovor na temu

spezia

Član broj: 134818
Poruke: 355
*.ptt.rs.



+6 Profil

icon Re: Smarty i Petlja u petlji05.10.2009. u 17:15 - pre 176 meseci
Ne radi,ni tako,
ali sam kasnije na drugi nacin je prabacio u fajl sa kodovima... $con.
Isto ne radi.
Pogledaj kod sto sam stavio
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-3.sezampro.rs.



+33 Profil

icon Re: Smarty i Petlja u petlji05.10.2009. u 17:42 - pre 176 meseci
Da, mislim da znam gde je problem, u pitanju je nešto slično sintaksnoj grešci, samo što je neprijavljuje :). Taj assign u if-u bi trebao da izgleda ovako:
Code:
{assign var="con" value=`$link.country`}

Obrati pažnju na te obrnute navodnike ispred i iza $link.country. Mislim da je u tome problem...
 
Odgovor na temu

spezia

Član broj: 134818
Poruke: 355
*.ptt.rs.



+6 Profil

icon Re: Smarty i Petlja u petlji05.10.2009. u 17:47 - pre 176 meseci
E jeste... I ja sada video ,pa hteo da napisem gde sam pogresio.
Cak sam uveo i ovo
Code:

[[if $l.country!= $country]]
    [[assign var=country value=$l.country]] 

   <div class="admin_tab"><span class="">[[$country]]</span></div>   
    
     [[/if]]

I tako video...
Mislim ne treba navodnici jer je promenljiva ,to sam video ranije. Nego je greska u ovome
{assign var="con" value=`$link.country`}
a treba ... value=$l.country,jer je item l. Svuda sam stavio tako a gde treba nisam
Code:

[[foreach from=$link item=l]]
    [[if $l.country!= $con]]

   <div class="admin_tab"><span class="">[[$l.country]]</span></div>   
    [[assign var=con value=$link.country]]
     [[/if]]

 
Odgovor na temu

batika

Član broj: 72401
Poruke: 67
*.adsl.eunet.rs.



Profil

icon Re: Smarty i Petlja u petlji27.11.2009. u 20:21 - pre 174 meseci
Pozdrav.

Inace mogao si da uradis i petlju u petlji (foreach u foreach-u) samo sto treba da dodas jos i key.

Evo ti link do uputstva za foreach
http://www.smarty.net/manual/en/language.function.foreach.php
 
Odgovor na temu

[es] :: PHP :: Smarty template engine :: Smarty i Petlja u petlji

[ Pregleda: 6384 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.