[ spezia @ 04.10.2009. 09:06 ] @
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?
[ Nikola Poša @ 04.10.2009. 10:18 ] @
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}
[ spezia @ 04.10.2009. 21:38 ] @
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]
[ Man-Wolf @ 05.10.2009. 10:26 ] @
A da stavis:

Code:

... 'value' ... 

umesto

... 'val' .... 



? :-)
[ spezia @ 05.10.2009. 11:01 ] @
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
[ spezia @ 05.10.2009. 11:04 ] @
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]
[ Nikola Poša @ 05.10.2009. 15:42 ] @
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.
[ spezia @ 05.10.2009. 17:15 ] @
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
[ Nikola Poša @ 05.10.2009. 17:42 ] @
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...
[ spezia @ 05.10.2009. 17:47 ] @
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]]

[ batika @ 27.11.2009. 20:21 ] @
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