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?
Smarty i Petlja u petlji
Zaključano
Zakačeno
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}
{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}
izmenjeno 2 puta, poslednji put spezia 05.10.2009. u 11:21
Izmene poruke
- spezia05.10.2009. u 11:21zapis iz teksta poruke
- spezia05.10.2009. u 11:20zapis iz teksta poruke
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
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
A da stavis:
? :-)
Code:
... 'value' ...
umesto
... 'val' ....
... 'value' ...
umesto
... 'val' ....
? :-)
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
Stampa
Srbija
link1
Srbija
link2
Srbija
link3
Umesto sve pod samo jednom Srbija
izmenjeno 2 puta, poslednji put spezia 05.10.2009. u 18:54
Izmene poruke
- spezia05.10.2009. u 18:54zapis iz teksta poruke
- spezia05.10.2009. u 18:16zapis iz teksta poruke
Evo kako ide kod kod mene
i Logika
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]]
[[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");
}
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");
}
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.
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
ali sam kasnije na drugi nacin je prabacio u fajl sa kodovima... $con.
Isto ne radi.
Pogledaj kod sto sam stavio
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:
Obrati pažnju na te obrnute navodnike ispred i iza $link.country. Mislim da je u tome problem...
Code:
{assign var="con" value=`$link.country`}
{assign var="con" value=`$link.country`}
Obrati pažnju na te obrnute navodnike ispred i iza $link.country. Mislim da je u tome problem...
E jeste... I ja sada video ,pa hteo da napisem gde sam pogresio.
Cak sam uveo i ovo
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
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]]
[[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]]
[[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]]
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
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