Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Smarty] kategorie i subkategorie
kowbojmov
post 6.06.2007, 13:21:16
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 6.06.2007

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


Witam, pisze po kolei.

Tak wygląda struktura 2 moich tabel:
  1. CREATE TABLE `kowboj_forum_kategorie` (
  2. `id` int(9) NOT NULL AUTO_INCREMENT,
  3. `title_cat` varchar(100) NOT NULL DEFAULT '',
  4. `description_cat` text NOT NULL,
  5. `watch_cat` char(3) NOT NULL DEFAULT '',
  6. PRIMARY KEY (`id`)
  7. ) ENGINE=MyISAM;
  8.  
  9. INSERT INTO `kowboj_forum_kategorie` VALUES (1, 'tytuł1', 'opis1', 'yes');
  10. INSERT INTO `kowboj_forum_kategorie` VALUES (2, 'tytuł2', 'opis2\r\nopis2cd', 'yes');
  11.  
  12. CREATE TABLE `kowboj_forum_sub_kategorie` (
  13. `id_dzial` int(9) NOT NULL AUTO_INCREMENT,
  14. `id_cat` int(9) NOT NULL DEFAULT '0',
  15. `title_dzial` varchar(255) NOT NULL DEFAULT '',
  16. `titles_dzial` varchar(255) NOT NULL DEFAULT '',
  17. `date_dzial` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  18. `watch_dzial` char(3) NOT NULL DEFAULT '',
  19. `stop_dzial` char(3) NOT NULL DEFAULT '',
  20. `topics` int(10) NOT NULL DEFAULT '0',
  21. `posts` int(10) NOT NULL DEFAULT '0',
  22. PRIMARY KEY (`id_dzial`)
  23. ) ENGINE=MyISAM;
  24.  
  25. INSERT INTO `kowboj_forum_sub_kategorie` VALUES (1, 1, 'tytuł tematu 1 - kat 1', 'tytuł tematu 1 df CD', '2007-06-03 14:56:03', 'yes', 'no', 1, 0);
  26. INSERT INTO `kowboj_forum_sub_kategorie` VALUES (2, 2, 'tytuł tematu 2 - kat 2', 'tytuł tematu 2 df CD', '2007-06-04 18:55:16', 'yes', 'no', 0, 0);
  27. INSERT INTO `kowboj_forum_sub_kategorie` VALUES (3, 1, 'tytuł tematu 3 - kat 1', 'tytuł tematu 3 df CD', '2007-06-05 20:05:59', 'yes', 'no', 0, 0);
  28. INSERT INTO `kowboj_forum_sub_kategorie` VALUES (4, 2, 'tytuł tematu 4 - kat 2', 'tytuł tematu 4 df CD', '2007-06-06 12:41:21', 'yes', 'no', 0, 0);



Tak wygląda część pliki forum.php

  1. <?php
  2. $table = array();
  3. $result = mysql_query("SELECT * FROM {$tbl_forum_category} ORDER BY id DESC");
  4. while ($row = mysql_fetch_assoc($result))
  5. $table[] = $row;
  6.  
  7. $smarty -> assign('category' , $table);
  8.  
  9.  
  10. foreach($table as $id => $value ){
  11. $table2 = array();
  12. $result2 = mysql_query("SELECT * FROM {$tbl_forum_sub_category} WHERE id_cat='{$value[id]}' ORDER BY id_dzial DESC");
  13. while ($row2 = mysql_fetch_assoc($result2))
  14. $table2[] = $row2;
  15.  
  16.  
  17. }
  18. $smarty -> assign('sub_category' , $table2);
  19. ?>



Tak wygląda odpowiadająca PHP część pliku forum.tpl

  1. <?php
  2. {section name=categories loop=$category}
  3. <table border="0" cellpadding="5" cellspacing="1" align="center" width="720px">
  4. <tr class="top">
  5. <td width="510px" align="center" colspan="2"><i>{$category[categories].title_cat}</i></td>
  6. <td width="60px" align="center">Tematów</td>
  7. <td width="60px" align="center">Postów</td>
  8. <td width="90px" align="center">Ostatni post</td>
  9. </tr>
  10. <tr class="opis"><td colspan="5">{$category[categories].description_cat|nl2br}</td></tr>
  11.  
  12.  
  13.  
  14.  
  15. {section name=sub_categories loop=$sub_category}
  16.  
  17. <tr class="tresc">
  18. <td width="30px" align="center">IMG</td>
  19. <td width="480px" align="left">
  20. <a href="forum.php?p=topics&id={$sub_category[sub_categories].id_cat}">
  21. <div class="sub_gl">{$sub_category[sub_categories].title_dzial}</div>
  22. <div class="sub_podgl">{$sub_category[sub_categories].titles_dzial}</div>
  23. </a>
  24. </td>
  25. <td width="60px" align="center"><b>{$sub_category[sub_categories].topics}</b></td>
  26. <td width="60px" align="center"><b>{$sub_category[sub_categories].posts}</b></td>
  27. <td width="90px" align="center"><b>Ostatni post</b></td>
  28. </tr>
  29.  
  30. {/section}
  31. ?>



tak wyświetla




Myślę że większość osób wie o co mi chodzi. Kategorie wyświetla poprawnie, ale subkategorie już nie. Wyświetla tylko subkategorie dla jednej kategorii a dla drugiej kopiuje subkategorie z poprzedniej kategorii.
Gdzie zrobiłem błąd?

PS: Dodam, że jestem początkujący w systemie Smarty

Z góry dziękuję za szybkie odpowiedzi smile.gif

Ten post edytował kowbojmov 6.06.2007, 13:23:03
Go to the top of the page
+Quote Post
LordRobert1
post 16.04.2011, 07:32:41
Post #2





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 12.12.2008

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


Dokładnie mam ten sam problem, czy mógłby ktoś pomóc, może pętle foreach zastosować zamiast drugiego section?
Go to the top of the page
+Quote Post

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: 25.04.2024 - 21:53