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

Kako izvuci rezultat iz tri tabele?

[es] :: PHP :: Kako izvuci rezultat iz tri tabele?

[ Pregleda: 485 | Odgovora: 5 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vladimirn
Vladimir Nikolic
Novi Sad

Član broj: 38585
Poruke: 81
*.static.sbb.co.yu.



Profil

icon Kako izvuci rezultat iz tri tabele?21.12.2007. u 14:04

Ovo je strktura tabele:
Code:

###################################
catID   |   catName    | parentID
###################################
  1        Category 1       0
  2        Category 2       0
  3        Category 3       1
  4        Category 4       1
  5        Category 5       2

###################################

Table items
Code:

###################################
itemID  |  itemName    
###################################
  1         Item 1
  2         Item 2
  3         Item 3
####################################


Table cat_items
Code:

####################################
catID   |  itemID
####################################
 1           1
 3           1
 4           1
 1           2
 3           2
 4           2
 2           3
 5           3
####################################

Zapravo me zanima kako napraviti SQL upit da bih mogao uraditi sledece stvari:

Zelim da kada posetilac klikne na preuzmi PDF isprintam PDF doc nesto poput:
Code:

Kategorija 1
   Kategorija 3
     Item
     Item
     Item
  Kategorja 4
     Item 
     Item


Takodje ne znam kako da isprintam nesto tipa nalazite se:
Code:
   Kategorija 1-> Kategorija 3 

Ispod toga bih isprintao Iteme u okviru poslednje kategorije.

I kako da uz Item napisem kojoj sve kategoriji pripada?
21.12.2007. u 14:04 

dakipro
Dalibor Jovic
PHP Developer, SMDesign, Ciplex
Novi Sad

Moderator
Član broj: 31848
Poruke: 664
89.216.108.*



Profil

icon Re: Kako izvuci rezultat iz tri tabele?21.12.2007. u 14:52
A gde ti je ustvari problem ovde, u mysql upitu ili u php-u?

21.12.2007. u 14:52 

vladimirn
Vladimir Nikolic
Novi Sad

Član broj: 38585
Poruke: 81
*.static.sbb.co.yu.



Profil

icon Re: Kako izvuci rezultat iz tri tabele?21.12.2007. u 15:01
pa nekako i u jednom i u drugom. prvo u vadjenju rezultata pa posle u prikazu :)
a vi kako te? :)
21.12.2007. u 15:01 

mVeliki
Miroslav Ćurčić
Novi Sad

Član broj: 19034
Poruke: 575
*.adsl.beotel.net.



Profil

icon Re: Kako izvuci rezultat iz tri tabele?21.12.2007. u 15:30
Ovo šti si naveo nije "strktura tabele", to su vrednosti.
Struktura je spisak polja sa opisom njihovog tipa (ono "create table ....").

Ovo što ti treba pre spada u mysql forum, pogledaj tamo,
sećam se da je već bilo reči o tome kako se formira "stablo grupa/kategorija/direktorijuma" i čita iz tabela.

majke mi?
"The quieter you become, the more you are able to hear."
21.12.2007. u 15:30 

dakipro
Dalibor Jovic
PHP Developer, SMDesign, Ciplex
Novi Sad

Moderator
Član broj: 31848
Poruke: 664
89.216.108.*



Profil

icon Re: Kako izvuci rezultat iz tri tabele?21.12.2007. u 15:40
Pa da, bas je vladimirn imao taj problem sa rekurzijom, koji je verovatno resio, a jos uvek nije stigo da postavi resenje svog problema na toj temi.
Problem je sto si suvise opsirno postavio temu, iako si se trudio da das dovoljno podataka, to jednostavno nije neki problem na koji bi mogao da se odgovori na forumu (bar ne u smislenom broju odgovora i na dobrovoljnoj bazi). Znaci ili pivo pa u kafanu, ili berza poslova ili kreni da radis, pa kad konkretno zapnes ti pitas, da bi neko i mogao u jednoj (nekoliko) poruci da ti odgovori, ovako lici da je tema tipa "Napisite mi kod".
Znaci u sledecem odgovoru daj nesto konkretno, ili da zatvaramo

pa doobro...
21.12.2007. u 15:40 

vladimirn
Vladimir Nikolic
Novi Sad

Član broj: 38585
Poruke: 81
*.static.sbb.co.yu.



Profil

icon Re: Kako izvuci rezultat iz tri tabele?24.12.2007. u 09:22
Code:

select i.* , c_i.* , c.* , group_concat(c.catName) as path 
from items i
left join cat_items c_i
on i.itemID=c_i.itemID
left join categories c
on c_i.catID=c.catID

where i.itemID=50
group by i.itemID


Te ga pa! :)
ovdE sam u polje path izvukao putanju.
Ste se tice piva rad sam popiti par :)
Elem, petlja...
Zahvaljujuci Dakiju, resio sam problem 'vako:
Code:

function findParent($catID){
        global $smarty, $conn;
        $sql = "select parent from categories where catID = $catID";
        $result = $conn->execute($sql);
        while($row = $result->FetchRow()){
            $sql = "select catID, catName from categories where catID = '".$row['parent']."'";
            $result = $conn->execute($sql);
            $parent = $result->FetchRow();
        }
        return $parent;
    }
function printChildCategories($catId, $array, $lead=''){//populate select box for categories
        global $conn,$smarty;
        if(empty($catId)){$catId='0';}
        if(is_array($array)){
            foreach ($array as $r){
                if ($r['parent']==$catId){
                    if ($_REQUEST['catID']==$r['catID']){
                    $parent = Kategorije::findParent($r['catID']);
                    
                    if($parent['catID']==NULL){
                    $kat .= "<option selected value='0'>ROOT</option>";
                    $kat .= "<option  value='".$r['catID']."'>";
                    $kat .= $lead . $r['catName'];
                    }else{
                    
                    $kat .= "<option selected value='".$parent['catID']."'>";}
                    $kat .= $lead . $parent['catName'];
                    }else{
                    $kat .= "<option value='".$r['catID']."'>";
                    
                    $kat .= $lead . $r['catName'];
                    }
                    $kat .=Kategorije::printChildCategories($r['catID'], $array, $lead.'&nbsp;&nbsp;');
                    $kat .= "</option>";
                }
            } }     return $kat;
    }
    function populateSelectBox(){//query for categories
        $query = 'SELECT * FROM `categories` ORDER BY `parent`';
        $result = mysql_query($query);
        while ($r = mysql_fetch_assoc($result))
        $array[] = $r;
        return $array;
    }
24.12.2007. u 09:22 

[es] :: PHP :: Kako izvuci rezultat iz tri tabele?

[ Pregleda: 485 | Odgovora: 5 ]

Postavi temu Odgovori

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