|
|
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo
|
|
[ PHP ] Wy?wietlanie wyników w szablonie. |
Autor |
Wiadomość |
Crypt3r
Pomógł: 1 raz Posty: 22
|
Wysłany: 16-03-2015, 00:28 [ PHP ] Wyświetlanie wyników w szablonie.
|
|
|
Problem prawdopodobnie dotyczy pętli while lub samego if'a ale nie jestem pewien. Po prostu wynik "temat1" nie wyświetla się w tabelce pod przyciskami - dołączam zrzut.
mapa.php
Kod: | <?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main.' . $phpEx);
$page_title = $lang['Mapa_forum'];
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
include($phpbb_root_path . 'includes/page_header.'.$phpEx); {
$sortuj = $_GET['sortuj'];
if ($sortuj == 'tematy') {
// echo $lang['Topics'] . ':<br />';
$sql = 'SELECT t.topic_id, t.topic_title
FROM ' . TOPICS_TABLE . ' t, ' . FORUMS_TABLE . ' f
WHERE f.forum_id = t.forum_id
AND f.auth_view = 0
AND f.auth_read = 0
ORDER BY topic_id DESC';
if (!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "nie mozna pobrac danych z bazy", "", __LINE__, __FILE__, $sql);
}
while ($row = $db->sql_fetchrow($result))
$wyniki = '<a href="viewtopic.php?t=' . $row['topic_id'] . '" title="' . $row['topic_title'] . '">' . $row['topic_title'] . '</a>';
{
echo $wyniki;
}
//definicja {FUNKCJA} funkcji w szablonie tpl
$template->assign_block_vars('mapa', array(
'WYNIKI' => $wyniki
));
}
$template->set_filenames(array('body' => 'mapa_body.tpl'));
$template->pparse('body');
}
/* Stopka */
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?> |
mapa_body.tpl
Kod: | <table width="100%" cellspacing="1" cellpadding="2" border="0" align="center">
<tr>
<td align="left">
<span class="sciezka">Ścieżka: <a href="{U_INDEX}">{L_INDEX}</a> » <a href="{U_MAPA}">{L_MAPA}</a></span>
</td>
</tr>
</table>
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="linia_forum">
<tr>
<td class="belka_gora" colspan="4" align="center"><span class="index_tekst">Mapa forum</span></td>
</tr>
<tr>
<td class="tlo1" align="center" width="30%"><span class="naglowek_kolor_b">Sortowanie<br/>(wybierz opcje)</span></td>
<td class="tlo1" align="center" width="70%">
<a href="mapa.php?sortuj=tematy"><button class="button">Tematy</button></a>
</td>
</tr>
<!-- BEGIN mapa -->
<tr>
<td class="tlo1" align="center" width="30%">wyniki</td>
<td class="tlo1" align="center" width="70%">{mapa.WYNIKI}</td>
</tr>
<!-- END mapa-->
<tr>
<td class="belka_dol" colspan="4"></td>
</tr>
</table> |
Kod wydaje się być w porządku, jednak nie jestem do końca pewny. Może ktoś z was będzie miał jakiś patent na to?
|
Ostatnio zmieniony przez Woytec 08-05-2015, 15:17, w całości zmieniany 1 raz |
|
|
|
|
Gadatliwa Kasia
|
|
|
|
kooza
Pomógł: 486 razy Posty: 2401
|
Wysłany: 16-03-2015, 19:35
|
|
|
nie potrzebnie dodałeś echo w kodzie, skoro chcesz dodać wynik do templatki.
Kod: | <?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main.' . $phpEx);
$page_title = $lang['Mapa_forum'];
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
$sortuj = $_GET['sortuj'];
if ($sortuj == 'tematy') {
$sql = 'SELECT t.topic_id, t.topic_title
FROM ' . TOPICS_TABLE . ' t, ' . FORUMS_TABLE . ' f
WHERE f.forum_id = t.forum_id
AND f.auth_view = 0
AND f.auth_read = 0
ORDER BY topic_id DESC';
if (!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "nie mozna pobrac danych z bazy", "", __LINE__, __FILE__, $sql);
}
while ($row = $db->sql_fetchrow($result))
{
$wyniki = '<a href="viewtopic.php?t=' . $row['topic_id'] . '" title="' . $row['topic_title'] . '">' . $row['topic_title'] . '</a>';
$template->assign_block_vars('mapa', array(
'WYNIKI' => $wyniki
));
}
}
$template->set_filenames(array('body' => 'mapa_body.tpl'));
$template->pparse('body');
/* Stopka */
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?> |
|
|
|
|
|
Crypt3r
Pomógł: 1 raz Posty: 22
|
Wysłany: 16-03-2015, 19:56
|
|
|
No tak, jednak wyniki nie są wyświetlane w szablonie. Gdzieś coś jest pominięte, ale kompletnie tego nie widzę. Zastanawia mnie pętla while. Echo w tym momencie nie ma żadnego znaczenia. Wyniki byłyby wyświetlane w szablonie i samym echo. |
_________________ Po pierwsze nie zamierzam dyskutować z debilami, trollami i hejterami. |
|
|
|
|
kooza
Pomógł: 486 razy Posty: 2401
|
Wysłany: 16-03-2015, 23:33
|
|
|
Tak, wyświetlało Ci wyniki nad tabelą bo pobierało wyniki z echo którą dodałeś do pętli. A w tabelce Ci nie pokazywało, dlatego że nie dodałeś templatki do pętli. Podałem Ci kod wyżej, sprawdzałeś czy wogóle działa? Bo poprawiałem w ciemno i nie sprawdzałem, ale powinno być ok |
|
|
|
|
Crypt3r
Pomógł: 1 raz Posty: 22
|
Wysłany: 16-03-2015, 23:51
|
|
|
Trochę inaczej skonstruowałem pętlę i syntax dla szablonu. Łap + za dobre chęci. |
_________________ Po pierwsze nie zamierzam dyskutować z debilami, trollami i hejterami. |
|
|
|
|
Tommekk80
Pomógł: 1411 razy Posty: 4780
|
Wysłany: 17-03-2015, 10:55
|
|
|
Po 'mapa' dodaj spację.
Masz swój błąd... |
|
|
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!
Powered by phpBB modified by Przemo © 2003 phpBB
| Strona wygenerowana w 0,11 sekundy. Zapytań do SQL: 12 | |
|
|