Programowanie
patTemplate
Jak utworzyć listę z wynikami zapytania do bazy danych | Jak utworzyć listę z wynikami zapytania do bazy danych |
|
|
|
Tworzenie list z patTemplate jest całkiem proste, ale jest jeszcze prostsze, kiedy używasz patTemplate w połączeniu z patDbc.
Spójrzmy na szablon dla listy: 001 <patTemplate:tmpl name="list"> 002 <table border="1" cellpadding="10" cellspacing="0"> 003 <tr> 004 <th>Superhero Name</th> 005 <th>Realname</th> 006 <th>Action</th> 007 </tr> 008 <!-- template for list row - ⇒ 009 <patTemplate:tmpl name="list_entry"> 010 <tr> 011 <td>{superhero}</td> 012 <td>{real_name}</td> 013 <td> 014 <a href="edit.php?id={id}">edit</a> 015 </td> 016 </tr> 017 </patTemplate:tmpl> 018 </table> 019 </patTemplate:tmpl> Ważne: Nazwy zmiennnych muszą być pisane WIELKIMI literami. Pamiętaj o tym. My napisaliśmy małymi, bo wykorzystujemy patXMLRenderer. Teraz wyobraź sobie, że masz tabelę mysql z trzema kolumnami o nazwach: id, superhero, real_name i chciałbyć wyświetlić listę wszystkich rekordów z tej tabeli w szablonie znajdującym się powyżej. 01 <?PHP 02 $tmpl = new patTemplate(); 03 $tmpl->setBasedir( "templates" ); 04 $tmpl->readTemplatesFromFile( "superherolist.tmpl" ); 05 06 $dbc = new patMySqlDbc( "localhost", "superheroes", "username", "passwd" ); 07 08 $query="SELECT id, superhero, real_name FROM secretIdentities ORDER BY superhero"; 09 $result = $dbc->query( $query ); 10 11 $tmpl->addRows( "list_entry", $result->get_result( patDBC_TYPEASSOC ) ); 12 13 $result->free(); 14 15 $tmpl->displayParsedTemplate(); 16 ?> Oczywiście możesz użyć innej warstwy abstrakcji bazy danych albo funkcji PHP dla dostępu do bazy danych, my wykorzystaliśmy patDbc. Ta tablica jest przekazywana do bloku szablonu Uwagi, źródłaJeżeli masz sugestie odnośnie treści lub chcesz zgłosić poprawki do tego rozdziału, skomentuj go albo umieść wiadomość na forum: Dokumentacja - Propozycje, zmiany, poprawki Dziękujemy! Stefan Wajda, Zespół Dokumentacji PCJ Tłum. Adam Sobkowicz. Na podstawie: help.joomla.org |
|
| Zmieniony ( 29.07.2006. ) |
| « poprzedni artykuł | następny artykuł » |
|---|






