PDA

Zobacz pełną wersję : Problem z wyświetlaniem danych z bazy przy użyciu patTemplate.



kacperix
15-02-2007, 00:17
Witam.

Zaczynam swoją przygodę z Joomla! i jak to w naszym świecie bywa napotkałem problem. Otóz mam w bazie danych tabele z województwami, któta ma dwie kolumny, wojId oraz name. I tworzę komponent dla administratora, dzięki któremu bedę mógł modyfikować województwa. Na początek chcę zrobić wyświetlanie na liście wszystkich województw w tabeli. Chcę do tego wykorzystać patTemplate.

Plik admin.wojewodztwa.php zawiera metode, która pobiera dane z bazy i wywoluje metodę z pliku admin.wojewodztwa.html.php:


function wojewodztwaLista() {
global $database;

//pobieranie listy wojewodztw
$query = "SELECT name FROM #__wojewodztwa";
$database->setQuery($query);
$lista = $database->loadRowList();

HTML_wojewodztwa::lista($lista);

}

Metoda lista z pliku admin.wojewodztwa.html.php:



function lista($lista) {
$tmpl = HTML_wojewodztwa::createTemplate();
$tmpl -> readTemplatesFromFile("lista.html");

foreach ($lista as $wojewodztwo) {
$tmpl->addVar("wojewodztwo", "WOJEWODZTWO", $lista);
$tmpl->parseTemplate("wojewodztwo", "a");
}

$tmpl->displayParsedTemplate("lista");

}


oraz plik lista.html:


<patTemplate:tmpl name="lista">
<html>
<head>
<title>Lista Województw</title>
</head>
<body>
<patTemplate:tmpl name="wojewodztwo">
<tr>
<td>{WOJEWODZTWO}</td>
</tr>
</patTemplate:tmpl>
</body>
</html>
</patTemplate:tmpl>

W tabeli znajdują się 2 wiersze z wartościami Dolnośląskie i Kujawso-Pomorskie. Problem w tym, że na stronie wyświetla tylko Dolnośląskie.

Gdy w pliku admin.wojewodztwa.html.php utworzę zmienną

$lista = array("Donlośląskie", "Kujawsko-Pomorskie")

to wtedy na stronie wyświetlone są oba.

kacperix
17-02-2007, 11:40
Witajcie ponownie.

Po wielu próbach w końcu doszedłem sam do rozwiązania, że od razu mi to do głowy nie przyszło :)

Otóż w pliku admin.wojewodztwa.php zamiast:


$names = $database->loadRowList();

powinno być:


$names = $database->loadAssocList();

i teraz wyświetla wszystkie wiersze z bazy danych :)

Pozdrawiam