problema afisare


  1. #1
    Member gabitza20062002's Avatar gabitza20062002 reprezinta o cantitate neglijabila
    Data de inscriere
    25-10-2005
    Locaţie
    Anywhere
    Varsta
    33
    Sex
    M
    Mesaje
    236
    Mesaje bazar
    608
    Putere Reputatie
    39
    Reputatie
    10
    Puncte CF
    20.0
    Usergroups:

    problema afisare

    ..am de afisat din baza de date .. niste categorii cu mai multe subcategorii .. si cu sub-subcategorii .. si asa mai departe in baza de date am ceva de genu ..
    id nume id_parinte .. .
    vreau sa extrag din tabel ... si sa diferentiez subcat de categorie ..
    ex :
    (1) I.T. (0)
    ---(2) Desktop (1)
    ------(3) Pentium (2)
    ---------(4) P III (3)
    ---------(5) P IV (3)
    ------(6) Athlon (2)
    ------(7) Sempron (2)
    ---(8) Laptop (1)
    ------(9) Acer (8)
    ------(10) Dell (8)
    ------(11) Toshiba (8)
    in stanga e id .. iar in dreapta e id _ parinte .. vreau sa imi afiseze in felul acesta.. cu spatiu .. sa stiu care e categorie si care e subategorie

  2. #2
    Coder vasilesq's Avatar vasilesq este pe calea cea buna
    Data de inscriere
    22-03-2007
    Locaţie
    Lăpuş
    Varsta
    68
    Sex
    M
    Mesaje
    462
    Mesaje bazar
    202
    Putere Reputatie
    37
    Reputatie
    42
    Puncte CF
    14.0
    Usergroups:
    nu inteleg ceva: ai facut baza de date, sau nu stii cum sa o structurezi?
    Vrei mai putine reclame? Inregistreaza-te sau logheaza-te

  3. #3
    Member gabitza20062002's Avatar gabitza20062002 reprezinta o cantitate neglijabila
    Data de inscriere
    25-10-2005
    Locaţie
    Anywhere
    Varsta
    33
    Sex
    M
    Mesaje
    236
    Mesaje bazar
    608
    Putere Reputatie
    39
    Reputatie
    10
    Puncte CF
    20.0
    Usergroups:
    baza e facuta .. e totul inserat .. doar vreau sa afisez .. la fel ca mai sus .. adica sa lase un spatiu la categorie .. 2 spatii la subcat .. 3 la sub-subcat .. s.a.m.d.

  4. #4
    Coder vasilesq's Avatar vasilesq este pe calea cea buna
    Data de inscriere
    22-03-2007
    Locaţie
    Lăpuş
    Varsta
    68
    Sex
    M
    Mesaje
    462
    Mesaje bazar
    202
    Putere Reputatie
    37
    Reputatie
    42
    Puncte CF
    14.0
    Usergroups:

    Big grin

    PHP Cod:
    $res=mysql_query("select * from tabela where id_parinte = '0'");
    while (
    $row mysql_fetch_array($res)) {
      echo 
    $row['name'];
       
    $res2 mysql_query("select * from `tabela` where `id_parinte` ='".$row['id']."' ");
      while (
    $row2 mysql_fetch_array($res2)) {
          print(
    "  $row2['name']");
          
    $res3 mysql_query("select * from `tabela` where `id_parinte` ='".$row2['id']."' ");
          while (
    $row3 =mysql_fetch_array($res3)) {
         print(
    "    $row3");
          }
    }

    cred ca asa se face . nu sunt sigur. sunt obosit,posibil am facut cateva greseli pe acolo

  5. #5
    Member gabitza20062002's Avatar gabitza20062002 reprezinta o cantitate neglijabila
    Data de inscriere
    25-10-2005
    Locaţie
    Anywhere
    Varsta
    33
    Sex
    M
    Mesaje
    236
    Mesaje bazar
    608
    Putere Reputatie
    39
    Reputatie
    10
    Puncte CF
    20.0
    Usergroups:
    asa am facut si eu .. da alta e problema .... nu pot sa intuiesc cate subcategorii vor fi .... si nu stiu cate while-uri o sa pun ..
    cat1
    -subcat1
    --subsubcat1
    --- .....
    ----.........
    -----......
    ------...
    -------....
    --------.......
    s.a.m.d. ..
    daca as face siteu pt mine .. ar fi ok asa.. as sti cate while-uri sa pun .. :-( .. am mai vorbit cu cineva .. si a zis ca se face afisearea recursiv

  6. #6
    Senior Member Chip's Avatar Chip reprezinta o cantitate neglijabila
    Data de inscriere
    04-10-2005
    Locaţie
    Oltenia, eterna TerraNova
    Varsta
    39
    Sex
    M
    Mesaje
    610
    Mesaje bazar
    155
    Putere Reputatie
    41
    Reputatie
    16
    Puncte CF
    30.5
    Usergroups:
    poti sa citesti tot tabelul intr-un sir de obiecte / structuri care sa aiba numele, idul parintelui, si un camp care sa ii spuna cate spatii sa afiseze inainte.

    apoi treci la ordonare: parcurgi sirul si construiesti altul, eliminand din priul sir elementele pe care le copiezi in cel de-al doilea, si iei o varibaila $s = 0 care va tine minte nr de spatii (practic nivelul subcat) - mai intai adaugi in noul sir obiectele care nu au parinte (primul nivel), si le pui la campul de spatii $s, care e 0. La pasii urmatori, incrementezi $s, apoi iei din sirul nou parintii si cauti in cel vechi copiii lui, si ii bagin in sir dupa ei, bineinteles spatiile vor fi $s. Si astfel continui pana se termina sirul original si astfel vei avea un sir ordonoat de obiecte pe care doar trebuie sa il afisezi, punand in fatza numarul de spatii corespunzator.

    alta idee nu imi vine acu, sper sa intelegi ce vreau sa spun.

    bafta!
    ...sa fim dintre romani cei mai fierbinti!
    Vrei mai putine reclame? Inregistreaza-te sau logheaza-te

Google+

Cautati logo-ul CraiovaForum?

Iata cateva variante: