Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 3 odgovora
  • 3.197 pregleda

Najnovija ↓

Kategorije i podkategorije unutar njih! 06.12.2008. u 20:48 · pre 218 meseci #1
Imam dvije tabele.

tpkategorija

| idkategorija | nazivkategorija

tppodkategorija

| idpodkategorija | idkategorija | nazivpodkategorija

Code:

$kategorija = $this->query("select * from tpkategorija");
    while($a=mysql_fetch_array($kategorija)){
        $kat[] = $a;
            
        
    }
    
    $this->assign('kategorija', $kat);


I na ovaj kod:

Code:

<ul>
{foreach from=$kategorija item=w}
    <li>{$w.nazivkategorija} - {$w.idkategorija}</li>
    
{/foreach}
</ul>


lijepo ispise kategorije, ali hocu i podkategorije unutar kategorije. Ali nemam pojma kako, prije nekad sam ovo uspio, ali ne ide me sad. Moze pomoc?

Re: Kategorije i podkategorije unutar njih! 06.12.2008. u 21:03 · pre 218 meseci #2
Za svaku stavku iz kategorija posalji upit tabeli podkategorija u kojme selektujes samo one redove ciji je id nadkategoirje=id-u trenutne stavke...
Re: Kategorije i podkategorije unutar njih! 06.12.2008. u 21:08 · pre 218 meseci #3
Znam ja to sve "teoretski", ali ne uspijevam da to uradim prakticno :)

Code:

    $kategorija = $this->query("select * from tpkategorija");
    while($a=mysql_fetch_array($kategorija)){
        $kat[] = $a;
            
    $podkategorija = $this->query("select * from tppodkategorija where idkategorija = $a[idkategorija]");
    while($a=mysql_fetch_array($podkategorija)){
        $podkat[] = $a;
            
        
    }
        
    }
    $this->assign('kategorija', $kat);
    $this->assign('podkategorija', $podkat);



Code:
<ul>
{foreach from=$kategorija item=w}
    <li>{$w.nazivkategorija} - {$w.idkategorija}</li>
        <ul>
        {foreach from=$podkategorija item=w}
            <li>{$w.nazivpodkategorija}</li>
        {/foreach}
        </ul>
{/foreach}
</ul>



Probao sam tako, ali u svaku kategoriju ucita sve podkategorije. :)
Re: Kategorije i podkategorije unutar njih! 06.12.2008. u 23:09 · pre 218 meseci #4
Mozhe to i kroz jedan upit, npr. ovaj:
Code:

SELECT tpk.*, tpp.* FROM tpkategorija tpk, tppodkategorija tpp WHERE tpk.idkategorija  = tpp.idkategorija

Posle pri ispisivanju treba da upotrebish chuvene markere... :) Prvo deklarishesh markere iznad te petlje za ispisivanje, npr. $marker = 0; $tekuci_id_kat = 0;, a onda u ispisivanju pitash:
Code:

if ($marker == 0 || $tekuci_id_kat != $red['idkategorije']){ //ako nije ispisana kategorija ili ako je u petlji "dosla" sledeca kategorija, ispisi je, ali samo jednom
   echo $red['nazivkategorije'];
   $marker = 1;
   $tekuci_id_kat = $red['idkategorije'];
}
//a pritom uvek ispsujesh podkategorije, ovako:
echo $red['nazivpodkategorije'];

Poshto cesh ti iz upita dobiti npr. ovako neshto:
1 PrvaKategorija 1 1 podKategorija1
1 PrvaKategorija 2 1 podKategorija2
2 DrugaKategorija 3 2 podKategorija3
2 DrugaKategorija 4 2 podKategorija4
2 DrugaKategorija 5 2 podKategorija5
3 DrugaKategorija 6 3 podKategorija6
3 DrugaKategorija 7 3 podKategorija7,
tebi je cilj da ispisujesh naziv kategorije samo jednom, i to kada ti pri fetch-ovanju dodje sledeca kategorija, odnosno, kad "primetish" da je "doshao" novi id kategorije. Za to sluzhi onaj marker $tekuci_id_kat.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme