Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [CI][CodeIgniter]Tablica dwu wymiarowa w codeigniter
furious_knight
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 18.12.2011

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


Witam,

Uczę się pracy z CI i mam nastepujący problem chciałbym wyciągnąć z bazy danych dane w dwuwymiarowej tablicy ale jeszcze za cienko idzie mi posługiwanie się składnia CI i nie chce mi się wyświetlić prawidłowy wynik. chciałbym żeby w modelu zostalo wykonywane zapytanie do bazy danychi wyciąganło nazwę oraz ID działu wygląda to tak:


  1. $tablica= array();
  2. $query = $this ->db->query('select `Nazwa`, `ID_Parent` from `Lista_Kategorii`WHERE `ID_Parent`=10 and `Język`=1 and `Aktywna`=1;');
  3.  
  4. foreach($query->result() as $row)
  5. {
  6.  
  7. }


następnie jak się domyślam za pomocą pętli np. foreach powinienem wyciągać każdy wiersz z pierwszego zapytania i napostawie tego id zrobić zapytanie o wszystkie pod kategorie tego id i zapisać to wszystko do tablicy dwu wymiarowej ale niestety nie wychodzi, pomoże ktoś(IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
furious_knight
post
Post #2





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 18.12.2011

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


Po części tak, o to chodzi ale do tego doszedłem na podstawie dokumentacji CI mój problem polega na tym jak w kontrolerze (lub modelu??) stworzyć tablicę lub objekt który zbierał by info o podkategorii i można by to potem wyświetlić w widoku, może na początek pokażę jak wygląda mój dotychczasowy kod:

kontroler:

  1. public function index()
  2. {
  3.  
  4. $data['topmenu'] = $this->topmenu_m->get_topmenu();
  5. $data['leftmenu'] = $this->topmenu_m->get_leftmenu();
  6. $data['podkategorie'] = $this->topmenu_m->get_leftmenu_podkategorie();
  7. $data['slider'] = $this->topmenu_m->slider();
  8. $data['test'] = $this->topmenu_m->test();
  9. $data['najlepsze'] = $this->topmenu_m->najlepsze();
  10.  
  11. $this->load->view('include/header');
  12. $this->load->view('include/menu', $data);
  13. $this->load->view('home');
  14. $this->load->view('include/footer');
  15.  
  16.  
  17.  
  18. }


model:
  1. public function get_leftmenu()
  2. {
  3. // -----Boczne menu------ 'select `Nazwa`, `ID_Parent` from `Lista_Kategorii`WHERE `ID_Parent`=10 and `Język`=1 and `Aktywna`=1;'
  4. $kategorie = $this->db->query("SELECT `Nazwa`, `ID_Kategoria` from `Lista_Kategorii` WHERE `ID_Parent`=10 and `Język`=1 and `Aktywna`=1 ORDER BY `Kolejność`;");
  5. return $kategorie->result();
  6. $this->db->close();
  7. }
  8.  
  9. public function get_leftmenu_podkategorie($id_parent)
  10. {
  11.  
  12. $podkategorie = $this->db->query("SELECT `Nazwa`, `ID_Kategoria` from `Lista_Kategorii` WHERE `ID_Parent`=".$id_parent." and `Język`=1 and `Aktywna`=1 ORDER BY `Kolejność`;");
  13. return $podkategorie->result();
  14. $this->db->close();
  15. }


widok:
  1. <?php foreach($leftmenu as $zakladka): ?>
  2. <div class="dropdown menu-l1">
  3. <a href="#" class="list-group-item" data-toggle="dropdown"><?php echo $zakladka->Nazwa, $zakladka->ID_Kategoria ?></a>
  4. <ul class="dropdown-menu">
  5. <li><a href="#" class="list-group-item">Element1</a></li>
  6. <li><a href="#" class="list-group-item" >Element1</a></li>
  7. <li><a href="#" class="list-group-item" >Element1</a></li>
  8. </ul>
  9. </div>
  10. <?php endforeach; ?>
  11.  


tak to wygląda na chwilę obecną czyli w menu wyświetlają mi sie prawidłowo kategorie pobrane z bazy danych ale w sposób jaki wykonuję przekierowanie modelu do widoku przez kontroler nie za bardzo pozwala mi na użycie każdego id_parent w zapytaniu pobierającym podkategorie (model get_leftmenu_odkategorie - dla jasności wyniki z tego modelu powinny wyświetlać się zamiast <li>Element1</li> z widoku powyżej), na logikę to powinienem w jakiś sposób w kontrolerze wykonać pętle foreach (tą z widoku) i za każdym przejściem petli wywołać model get_leftmenu_podkategorię a wyniki razem z głównym id zapisać do tablicy dwuwymiarowej a następnie wysłać do widoku i pętlą wyświetlić wszystko w widoku ale nie jestem pewien czy było by to zgodne z założeniami MVC oraz CI i przede wszystkim jak zapisać tą tablicę tak żeby użyć jej w widoku. Przyznam że trochę się przeliczyłem z moją wiedzą dotyczącą php i pomieszałem się w tym wszystkim dla tego zeleżało by mi na pomocy osoby która jest bardzo dobrze rozeznana w codeigniter i która wytłumaczyła by mi czy dobrze rozumuję i jakiej składni użyć żeby kod był prawidłowy bo oprócz prawidłowego rozwiązania chciał bym też zrozumieć jak to powinno działać czuję że jestem blisko prawidłowego wyniku ale nie znam na tyle składni żeby prawidłowo stworzyć kod :/ proszę o pomoc



Czy nikt nie może pomóc??
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.10.2025 - 03:47