Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Kohana]Problem z kilkupoziomowym menu
henio
post 15.06.2009, 19:24:53
Post #1





Grupa: Zarejestrowani
Postów: 237
Pomógł: 1
Dołączył: 15.10.2004
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Witam, od niedawna używam Kohany i mam taki problem. Stworzylem 3 tabele w bazie danych (menu-adm-1, menu-adm-2 i menu-adm-3) chce pobrać dane z pierwszej tabeli i wyświetlić potrafię. Chciałbym jednak osiągnąć taki cel: po pobraniu danych z tabeli menu-adm-1 i ich wyświetleniu zostały pobrane dane z tabeli menu-adm-2 ale tylko dla konkretnego pobranego wcześniej rekordu z tabeli menu-adm-1.

Model Admin_Menu
  1. <?php defined('SYSPATH') or die('No direct script access.');
  2.  class Admin_Menu_Model extends Model {
  3.    public function __construct()
  4.    {
  5.    parent::__construct();
  6.    }
  7.    
  8.    public function menu_adm1()
  9.    {
  10.    return $this->db->select('id', 'tekst', 'url', 'kolejny_poziom')
  11.            ->from('menu-adm-1')
  12.            ->orderby(array('kolejnosc' => 'ASC'))
  13.            ->get();
  14.    }
  15.  }
  16. ?>


Widok (fragment)
  1. <ul id="nav">
  2.        <?php foreach($menu as $m): ?>
  3.            <li><a href="<?php echo url::base().$m->url;?>"><?php echo $m->tekst;?></a></li>
  4.        <?php endforeach; ?>
  5.        </ul>


Kontroler
  1. <?php defined('SYSPATH') OR die('No direct access allowed.');
  2. class Glowna_Controller extends Controller {
  3.  
  4.        public function index()
  5.        {
  6.        $view = new View('layout/adm');
  7.        $menu = new Admin_Menu_Model;
  8.        $view->menu = $menu->menu_adm1();
  9.        $view->content = new View('adm/glowna');
  10.        $view->render(true);
  11.        }
  12. }
  13. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
henio
post 1.07.2009, 08:16:24
Post #2





Grupa: Zarejestrowani
Postów: 237
Pomógł: 1
Dołączył: 15.10.2004
Skąd: Lublin

Ostrzeżenie: (0%)
-----


zrobiłem na mniej więcej na podstawie tego co tu zobaczyłem
  1. <?php
  2. class Admin_Menu_Model extends Model {
  3.    public function __construct()
  4.    {
  5.    parent::__construct();
  6.    }
  7.  
  8.    private $menu = array();
  9.    
  10.    public function menu_adm()
  11.    {
  12.    $menu1 = $this->db->select('id', 'tekst', 'url', 'kolejny_poziom')
  13.                     ->from('menu-adm-1')
  14.                     ->orderby(array('kolejnosc' => 'ASC'))
  15.                     ->get();
  16.  
  17.        for($i=1; $i<$menu1->count(); $i++)
  18.        {                    
  19.            if($menu1[$i]->kolejny_poziom == 'TAK')
  20.            {
  21.            $menu2[$menu1[$i]->id] = $this->db->select('id', 'tekst', 'url', 'kolejny_poziom')
  22.                                              ->from('menu-adm-2')
  23.                                              ->where(array('id_menu_1' => $menu1[$i]->id))
  24.                                              ->orderby(array('kolejnosc' => 'ASC'))
  25.                                              ->get();
  26.  
  27.                for($j=1; $j<$menu2[$menu1[$i]->id]->count(); $j++)
  28.                {                    
  29.                    if($menu2[$menu1[$i]->id][$j]->kolejny_poziom == 'TAK')
  30.                    {
  31.                    $menu[$menu1[$i]->id][$menu2[$menu1[$i]->id][$menu2[$j]->id]] = $this->db->select('id', 'tekst', 'url')
  32.                                                        ->from('menu-adm-3')
  33.                                                        ->where(array('id_menu_2' => $menu2[$j]->id))
  34.                                                        ->orderby(array('kolejnosc' => 'ASC'))
  35.                                                        ->get();
  36.                    }
  37.                }
  38.            }
  39.        }
  40.    }
  41. }
  42. ?>


Mam taki błąd:
C:/Program Files/Apache Group/Apache2/htdocs/Heniek_CMS/application/models/admin_menu.php [31]:
Undefined offset: 1

Ten post edytował henio 1.07.2009, 08:32:29
Go to the top of the page
+Quote Post

Posty w temacie
- henio   [Kohana]Problem z kilkupoziomowym menu   15.06.2009, 19:24:53
- - Cypherq   Przejedź foreach po rekordach z menu1 wyjmując rek...   15.06.2009, 22:49:36
- - henio   Ale to mam umieścić w kontrolerze?   16.06.2009, 09:30:06
- - skowron-line   W modelu zrób sobie zapytanie o główne menu i w pę...   16.06.2009, 09:34:02
|- - henio   Cytat(skowron-line @ 16.06.2009, 10...   16.06.2009, 10:01:23
|- - Cypherq   Cytat(skowron-line @ 15.06.2009, 23...   16.06.2009, 14:45:06
- - skowron-line   W modelu tworzysz metodę powiedzmy getMenu i ...   16.06.2009, 10:06:19
- - henio   Z Kohany korzystam dopiero od kilku dni i nie potr...   17.06.2009, 15:15:14
|- - skowron-line   Cytat(henio @ 17.06.2009, 14:15:14 ) ...   17.06.2009, 18:04:35
- - Cypherq   Nie obraź się, ale Skowron podał Ci wszystko na ta...   17.06.2009, 17:06:45
- - henio   Wróciłem niedawno z wakacyjnego wyjazdu i wypoczęt...   30.06.2009, 11:38:50
- - skowron-line   Według mnie tablica 2 wymiarowa była by najlepszym...   30.06.2009, 11:44:47
|- - henio   Cytat(skowron-line @ 30.06.2009, 12...   30.06.2009, 11:54:51
- - skowron-line   Nie wiesz jak wygląda tablica wielowymiarowa htt...   30.06.2009, 11:57:45
|- - henio   Cytat(skowron-line @ 30.06.2009, 12...   30.06.2009, 11:58:58
- - skowron-line   No ale powiedz w czym ty masz problem ze zrobieni...   30.06.2009, 12:11:44
|- - henio   Cytat(skowron-line @ 30.06.2009, 13...   30.06.2009, 12:39:31
- - phpion   Pokaż jak próbowałeś, a my Cię naprowadzimy pokazu...   30.06.2009, 12:56:04
|- - henio   Cytat(phpion @ 30.06.2009, 13:56:04 )...   30.06.2009, 13:40:32
- - skowron-line   a gdzie wrzucasz to do tablicy   30.06.2009, 14:31:43
|- - henio   Cytat(skowron-line @ 30.06.2009, 15...   1.07.2009, 08:07:35
|- - skowron-line   Cytat(henio @ 1.07.2009, 07:07:35 ) J...   1.07.2009, 08:10:03
- - phpion   Dobrze to pojęcie względne ale powinno działać.   1.07.2009, 08:10:06
- - henio   zrobiłem na mniej więcej na podstawie tego co tu z...   1.07.2009, 08:16:24
- - skowron-line   Dlaczego mam wrażenie że z każdą pierdołą piszesz ...   1.07.2009, 08:37:10
- - henio   Może aż tak źle ze mną nie jest. Stworzyłem taką ...   3.07.2009, 16:33:13


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.06.2025 - 21:48