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

Codeigniter listanje menija i podmenija iz dve razlicite tabele

[es] :: PHP :: Codeigniter listanje menija i podmenija iz dve razlicite tabele

[ Pregleda: 2862 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nepoverljiv
student
Kragujevac, Srbija

Član broj: 226360
Poruke: 131
*.dynamic.sbb.rs.



+2 Profil

icon Codeigniter listanje menija i podmenija iz dve razlicite tabele24.10.2015. u 15:46 - pre 57 meseci
Imam dve tabele, menu i submenu

Tabela menu: id_menu, menu_name

1, Menu 1
2, Menu 2
3, Menu 3

Tabela submenu; id_sub, id_menu, sub_name

1,1, Sub 1.1
2,1, Sub 1.2
3,1, Sub 1.3
4,2, Sub 2.1
5,3, Sub 3.1
6,3, Sub 3.2

Kako da napisem model, contoler i view da bih dobio listu na sledeci nacin:

Menu 1
Sub 1.1
Sub 1.2
Sub 1.3
Menu 2
Sub 2.1
Menu 3
Sub 3.1
Sub 3.2

Hvala unapred
 
Odgovor na temu

Tpojka
Ratio, Logic

Član broj: 60114
Poruke: 194

ICQ: 491318095


+30 Profil

icon Re: Codeigniter listanje menija i podmenija iz dve razlicite tabele24.10.2015. u 16:56 - pre 57 meseci
Iz dokumentacije:

Code (php):

$this->db->select('*');
$this->db->from('blogs');
$this->db->join('comments', 'comments.id = blogs.id');
$this->db->order_by('title DESC, name ASC');
$query = $this->db->get();
 


Pretpostavljam ovako nekako:

Code (php):

$this->db->select('menu_name, sub_name');
$this->db->from('menu');
$this->db->join('submenu', 'submenu.id_menu = menu.id_menu');
$this->db->order_by('id_menu ASC, id_sub ASC');
$query = $this->db->get();
 

-A Tpojke su Đuro - šta?
-Osnovne jedinice diverzantskih grupa!
 
Odgovor na temu

nepoverljiv
student
Kragujevac, Srbija

Član broj: 226360
Poruke: 131
*.dynamic.sbb.rs.



+2 Profil

icon Re: Codeigniter listanje menija i podmenija iz dve razlicite tabele24.10.2015. u 17:04 - pre 57 meseci
Izbacuje mi gresku kod ORDER BY, izbrisao sam taj red. Kako da napisem controler i view?
 
Odgovor na temu

Tpojka
Ratio, Logic

Član broj: 60114
Poruke: 194

ICQ: 491318095


+30 Profil

icon Re: Codeigniter listanje menija i podmenija iz dve razlicite tabele24.10.2015. u 17:11 - pre 57 meseci
Jesi li prelistao dokumentaciju?

Controller.
View.
Model.

Stvar je u tome da ti niko nece pisati kod za dz, vec moras da postavis kod koji ne radi da bi mogao ocekivati pomoc u tom dijelu.

edit:
Pa podijeli s nama koja greska je u pitanju - sta pise.
-A Tpojke su Đuro - šta?
-Osnovne jedinice diverzantskih grupa!
 
Odgovor na temu

nepoverljiv
student
Kragujevac, Srbija

Član broj: 226360
Poruke: 131
*.dynamic.sbb.rs.



+2 Profil

icon Re: Codeigniter listanje menija i podmenija iz dve razlicite tabele24.10.2015. u 17:16 - pre 57 meseci
Model:

Code:

     public function Kategorije()
    {

        $query=$this->db->select('*')      
                        ->from('menu')
                        ->order_by('top','ASC')
                        ->get();
                        
        return $query->result();  
    }


Controller:

Code:

    public function Index()
    {        
        $data['kategorije']=$this->users_mod->Kategorije();
        
        $this->load->view('template/main',$data);
    }



View:
Code:

if(count($kategorije) > 0)   
                    {
                        foreach($kategorije as $row)
                        { 
                          echo "<div class='panel-group panel-meni' id='accordion'>
                            <div class='panel panel-default panel-menija'>
                              <a data-toggle='collapse' data-parent='#accordion' href='#collapse{$row->top}'><div class='panel-heading meni-kategorija'>
                                <h4 class='panel-title lista-kategorija-font'>
                                  {$row->menu_name}
                                </h4>
                              </div></a> 
                                  <div id='collapse{$row->top}' class='panel-collapse collapse collapse podkategorija'>
                                    <div class='panel-body podkategorija'>
                                     
                                        <ul class='lista-kategorija lista-kategorija-font'>
                                            <li>Pod 1</li>
                                            <li>Pod 2</li>
                                            <li>Pod 3</li>
                                        </ul>
                                    
                                    </div>
                                  </div>
                             </div>
                            </div>";        
                                    
                        }
                    } 


E ovaj kod radi i iscitava samo kategorije, a podkategorije ne znam da ubacim, u delu:
Code:

                                        <ul class='lista-kategorija lista-kategorija-font'>
                                            <li>Pod 1</li>
                                            <li>Pod 2</li>
                                            <li>Pod 3</li>
                                        </ul>



 
Odgovor na temu

Panajotov
Programator
Beograd

Član broj: 322930
Poruke: 75



+5 Profil

icon Re: Codeigniter listanje menija i podmenija iz dve razlicite tabele24.10.2015. u 17:49 - pre 57 meseci
Ovako nesto?
Code:

foreach($meni as $m):
     echo $m->ime_menija;
foreach($submeni as $s):
     if($m->submeni_id == $s->id):
          echo $s->ime_sub;
     endif
endforeach;
endforeach;

 
Odgovor na temu

nepoverljiv
student
Kragujevac, Srbija

Član broj: 226360
Poruke: 131
*.dynamic.sbb.rs.



+2 Profil

icon Re: Codeigniter listanje menija i podmenija iz dve razlicite tabele24.10.2015. u 18:27 - pre 57 meseci
Sorry, ali ne znam kako da ga primenim posto varijable $meni i $submeni ne znam kako si dobio
 
Odgovor na temu

Panajotov
Programator
Beograd

Član broj: 322930
Poruke: 75



+5 Profil

icon Re: Codeigniter listanje menija i podmenija iz dve razlicite tabele24.10.2015. u 18:59 - pre 57 meseci
Pa u drugoj poruci imaš odgovor. Ne možeš iz baze selektovati samo meni i očekivati da se submeni sam zalepi za meni :)
Primer, ako imaš $data['meni'], tako uzmi i $data['podmeni'], u jednom selektuj meni, a u drugom podmeni i onda primeni ovo što sam ti gore napisao.
 
Odgovor na temu

Tpojka
Ratio, Logic

Član broj: 60114
Poruke: 194

ICQ: 491318095


+30 Profil

icon Re: Codeigniter listanje menija i podmenija iz dve razlicite tabele24.10.2015. u 21:00 - pre 57 meseci
Postavljeno u metod da se testira, pa treba odgovarajuce dijelove prebaciti u model (DB related) i view (foreach loop mostly).

Code (php):

public function t()
{
     $sql = "SELECT * FROM `menu`";
     $menu = $this->db->query($sql)->result_array();
         
     foreach ($menu as $k => $v)
     {
          if ($k === 0)
               $ids = $v['id_menu'];
          else
               $ids .= ',' . $v['id_menu'];
     }
         
     $sql = "SELECT * FROM `submenu` WHERE `submenu`.`id_menu` IN (" . $ids . ")";
     $submenu = $this->db->query($sql)->result_array();
         
     $result['ids'] = explode(',',$ids);
     $result['menu'] = $menu;
     $result['submenu'] = $submenu;
         
     foreach ($result['ids'] as $k => $menu_id)
     {
          echo $result['menu'][$k]['menu_name'], "<br>";
               
          foreach ($result['submenu'] as $l => $sub)
          {
               if (isset($result['submenu'][$l]['id_menu']) && $result['submenu'][$l]['id_menu'] === $menu_id)
               {
                    echo $result['submenu'][$l]['sub_name'], "<br>";
               }
          }
     }
}
 

-A Tpojke su Đuro - šta?
-Osnovne jedinice diverzantskih grupa!
 
Odgovor na temu

Panajotov
Programator
Beograd

Član broj: 322930
Poruke: 75



+5 Profil

icon Re: Codeigniter listanje menija i podmenija iz dve razlicite tabele24.10.2015. u 22:24 - pre 57 meseci
@Trojka, ako nije razumeo ono što si napisao u drugoj poruci, teško da će to. Ne želim da omalovažavam nikog, ali smatram da su to neke stvari koje nisu teške, a takođe su veoma logične.

Pozdrav
 
Odgovor na temu

nepoverljiv
student
Kragujevac, Srbija

Član broj: 226360
Poruke: 131
*.dynamic.sbb.rs.



+2 Profil

icon Re: Codeigniter listanje menija i podmenija iz dve razlicite tabele25.10.2015. u 17:07 - pre 57 meseci
Citat:
Tpojka:
Postavljeno u metod da se testira, pa treba odgovarajuce dijelove prebaciti u model (DB related) i view (foreach loop mostly).

Code (php):

public function t()
{
     $sql = "SELECT * FROM `menu`";
     $menu = $this->db->query($sql)->result_array();
         
     foreach ($menu as $k => $v)
     {
          if ($k === 0)
               $ids = $v['id_menu'];
          else
               $ids .= ',' . $v['id_menu'];
     }
         
     $sql = "SELECT * FROM `submenu` WHERE `submenu`.`id_menu` IN (" . $ids . ")";
     $submenu = $this->db->query($sql)->result_array();
         
     $result['ids'] = explode(',',$ids);
     $result['menu'] = $menu;
     $result['submenu'] = $submenu;
         
     foreach ($result['ids'] as $k => $menu_id)
     {
          echo $result['menu'][$k]['menu_name'], "<br>";
               
          foreach ($result['submenu'] as $l => $sub)
          {
               if (isset($result['submenu'][$l]['id_menu']) && $result['submenu'][$l]['id_menu'] === $menu_id)
               {
                    echo $result['submenu'][$l]['sub_name'], "<br>";
               }
          }
     }
}
 


To je to, ovo sam ubacio u controller i video sam da ga izlistao na strani onako kako sam ja zamislio. Probao sam da u view prebacim sledeci deo:

Code (php):

     foreach ($result['ids'] as $k => $menu_id)
     {
          echo $result['menu'][$k]['menu_name'], "<br>";
               
          foreach ($result['submenu'] as $l => $sub)
          {
               if (isset($result['submenu'][$l]['id_menu']) && $result['submenu'][$l]['id_menu'] === $menu_id)
               {
                    echo $result['submenu'][$l]['sub_name'], "<br>";
               }
          }
     }
 


Ali naravno mi izbacuje gresku da su nepoznate varijable. Sad pokusavam to da dokucim kako da odradim.

P.S. @Panajotov mozda za tebe ove stvari nisu teske jer ih znas pa ti to deluje smesno, kao sto sigurno i za mene deluju neke stvari smesne koje ti mozda ne znas, ali ne treba se smejati drugome. Treba coveka nauciti da peca umesto mu dati ribu, ali mu prvo dati par riba pre nego sto pocne kapirati pecanje.

 
Odgovor na temu

Tpojka
Ratio, Logic

Član broj: 60114
Poruke: 194

ICQ: 491318095


+30 Profil

icon Re: Codeigniter listanje menija i podmenija iz dve razlicite tabele25.10.2015. u 18:40 - pre 57 meseci
Nema besplatnog rucka. :D
Iako je vec sve rijeseno, evo jos malo pojednostavljeno.
U model ide sav dio koda do foreach petlje.
S tim da treba dodati
Code (php):
return (count($result['ids'] >= 1)) ? $result : FALSE;

, a u controller-u treba da se postavlja u varijablu kako vec i stoji.
Je li tako uradjeno?
PHP nije bas copy/paste. Moras da pratis ulazne i izlazne varijable. Tj moras znati sta su ti ulazne varijable i sta se ocekuje kao izlaz.
Greska bi vjerovatno bila to sto se u mom kodu vrse operacije nad $result nizom, a tvoj view fajl vjerovatno ocekuje $kategorije varijablu.
Ajd' sad zabaci i pecaj. Ako ne bude islo, jos malo krpi mrezu.
-A Tpojke su Đuro - šta?
-Osnovne jedinice diverzantskih grupa!
 
Odgovor na temu

Panajotov
Programator
Beograd

Član broj: 322930
Poruke: 75



+5 Profil

icon Re: Codeigniter listanje menija i podmenija iz dve razlicite tabele25.10.2015. u 19:58 - pre 57 meseci
@nepoverljiv nisam imao nameru da te vređam, izvini ako si se našao uvređenim nije mi to bila namera. Hteo da ti nagovestim da neke stvari ne možeš da radiš kopi-pejst ili da očekuješ gotovo rešenje. Ono što ti upravo radiš, radio sam i ja, radi verovatno svako ko je nov u tome, a to je da ne razumeš šta se tu zapravo dešava. Kao što je @Trojka rekao, PHP nije baš kopi-pejst. Moraš da naučiš neke osnovne stvari, kao na primer nizove.
Pozdrav
 
Odgovor na temu

nepoverljiv
student
Kragujevac, Srbija

Član broj: 226360
Poruke: 131
*.dynamic.sbb.rs.



+2 Profil

icon Re: Codeigniter listanje menija i podmenija iz dve razlicite tabele31.10.2015. u 19:24 - pre 57 meseci
Juhuuu to je to :D

Model:

Code:

    public function Proba()
    {
         $sql = "SELECT * FROM `menu`";
         $menu = $this->db->query($sql)->result_array();
             
         foreach ($menu as $k => $v)
         {
              if ($k === 0)
                   $ids = $v['id_menu'];
              else
                   $ids .= ',' . $v['id_menu'];
         }
             
         $sql = "SELECT * FROM `submenu` WHERE `submenu`.`id_menu` IN (" . $ids . ")";
         $submenu = $this->db->query($sql)->result_array();
             
         $result['ids'] = explode(',',$ids);
         $result['menu'] = $menu;
         $result['submenu'] = $submenu;
         
         return (count($result['ids'] >= 1)) ? $result : FALSE;  
    }


Controller:

Code:

    public function Index()
    {        
        $data['proba']=$this->users_mod->Proba();

        $this->load->view('template/main',$data);
    }


View:

Code:


     foreach ($result['ids'] as $k => $menu_id)
     {
          echo $result['menu'][$k]['menu_name'], "<br>";
               
          foreach ($result['submenu'] as $l => $sub)
          {
               if (isset($result['submenu'][$l]['id_menu']) && $result['submenu'][$l]['id_menu'] === $menu_id)
               {
                    echo $result['submenu'][$l]['sub_name'], "<br>";
               }
          }
     }
 
 
Odgovor na temu

[es] :: PHP :: Codeigniter listanje menija i podmenija iz dve razlicite tabele

[ Pregleda: 2862 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

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