Parser szablonów |
Parser szablonów |
21.12.2008, 23:35:38
Post
#21
|
|
Grupa: Zarejestrowani Postów: 640 Pomógł: 44 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
Czy jeżeli założę, ża taka osoba jest w wystarczającym stopniu inteligenta by zrozumieć, że to co jest pomiędzy <?php, a ?> to coś czego ma nie ruaszć? Jak chcesz możesz stosować szablony z PHP, ja wolę mieć w szablonach prostą szablonową składnię "trzymającą" porządek i w ładny sposób oferującą dziedziczenie szablonów, czy obsługę bloków (i nie chodzi tu o to że front-end designer nie wie co to PHP/Python, po prostu server side jest wyraźnie oddzielony od client side). Cytat POMOCY!! A wiesz że są funkcje zwracające treść błędu zapytania? Użyj to się dowiesz co jest źle, inaczej to do wróżki można sobie pójść. Ten post edytował Riklaunim 21.12.2008, 23:36:48 -------------------- |
|
|
21.12.2008, 23:59:00
Post
#22
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 5 Dołączył: 15.07.2008 Skąd: Kłodzko Ostrzeżenie: (10%) |
Niema żadnego błądu, tylko niewiem co napisać zobacz co jest w drugim zapytaniu. Skąd wziąść identyfiaktor kategorii forum w skrypcie?
Wiem że są funkcje, ale zapytanie jest dobrze skonstruowane więc nie wywala żadnych błędów. Jednak zamiast POMOCY w zapytaniu wolał bym mieć identyfikator kategorii forum. Jeśli zamiast tego podstawię 1 to w pierwszej i drugiej kategorii będą fora z pierwszej kategorii, jeśli podstawię 2 to będą z drugiej, a ja chciałbym aby w pierwszej były z pierwszej a w drugiej z drugiej. POMOCY!!! -------------------- |
|
|
22.12.2008, 00:17:54
Post
#23
|
|
Grupa: Zarejestrowani Postów: 640 Pomógł: 44 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
Coś jakby musisz umieścić zapytania o fora z danej kategorii w pętli pobierania kategorii. Coś w stylu:
Kod while($rekord = mysql_fetch_array($zapytanie)) {
$zapytanie2 = mysql_query("SELECT * FROM fora WHERE kategoria=".$rekord['id']." ORDER BY tytul"); while($rekord2 = mysql_fetch_array($zapytanie2)) { $tablica2[] = $rekord2; } $tablica[] = array($rekord, $tablica2); } -------------------- |
|
|
22.12.2008, 10:47:23
Post
#24
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 5 Dołączył: 15.07.2008 Skąd: Kłodzko Ostrzeżenie: (10%) |
http://www.codemaster2222.yoyo.pl/skrypt.php - niedziała: wyświetla wszystkie fora w każdej kategorii.
-------------------- |
|
|
22.12.2008, 12:35:00
Post
#25
|
|
Grupa: Zarejestrowani Postów: 640 Pomógł: 44 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
Pomyśl trochę. Jeżeli pobiera wszystkie fora to znaczy że warunek WHERE jest błędny. Zakładając że masz relację jeden do wielu w tabeli for powinna być kolumna z numerem ID danej kategorii - i wstawiając w warunku where id obecnie przemiatanej kategorii musi zadziałać
Dla przykładu fragment struktury mojego forum: Kod CREATE TABLE IF NOT EXISTS `rk_category1` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) NOT NULL, `order` smallint(5) unsigned NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; CREATE TABLE IF NOT EXISTS `rk_forum1` ( `id` int(11) NOT NULL auto_increment, `category_id` int(11) NOT NULL, `name` varchar(255) NOT NULL, `description` varchar(255) NOT NULL, `topics` int(10) unsigned NOT NULL, `posts` int(10) unsigned NOT NULL, `lastposter` varchar(255) default NULL, `lasttopic` varchar(255) default NULL, `modification_date` datetime NOT NULL, `order` smallint(5) unsigned NOT NULL, `use_prefixes` tinyint(1) NOT NULL, `allow_anonymous` tinyint(1) NOT NULL, `use_moderators` tinyint(1) NOT NULL, PRIMARY KEY (`id`), KEY `rk_forum1_category_id` (`category_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; Tabela rk_forum1 ma kolumnę "category_id" przechowującą wartość "id" kategorii (rk_category1), do której jest przypisane -------------------- |
|
|
22.12.2008, 12:52:56
Post
#26
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 5 Dołączył: 15.07.2008 Skąd: Kłodzko Ostrzeżenie: (10%) |
Jak to ma działeć to ja wie, przecież jak robiłem to samo tylko że w praserże to działało.
Skrytp:
Skrypt najpierw pobiera wszystkie fora z kategorii 1, dopisuje je do tablicy, a puźniej wszystkie z kategorii 2, i też dopisuje je do tablicy. Szablon: -------------------- |
|
|
22.12.2008, 13:52:17
Post
#27
|
|
Grupa: Zarejestrowani Postów: 640 Pomógł: 44 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
Po wierszu z $zapytanie2 możesz dać $tablica2[] = array(); żeby wyczyścić tablicę przed zapełnieniem ją kolejnymi forami. Po zakończeniu pętli dla $zapytanie2 musisz tą $tablica2 dodać do głównej tablicy kategorii np:
Kod $tablica[] = array($rekord, $tablica2); Usuwając zarazem $tablica[] = $rekord;. Dzięki temu masz jedną tablicę do przekazania do szablonu. $tablica[ELEMENT][0] to dane kategorii, a $tablica[ELEMENT][1] to tablica z forami dla tej kategorii - czyli w szablonie dajesz foreach as $cośtam na $tablica i w nim kolejnego foreach na $cośtam[1] -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 10.06.2024 - 05:21 |