Seite 2 von 6
Verfasst: 08.12.2006 19:21
von kolja
OK, die ersten codezeilen stehen,
aber so ganz funktioniert es noch nicht...
vielleicht findet ja einer einen offensichtlichen fehler
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path . './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
$gen_page_header = true;
$page_title = 'die nächsten n termine im calender';
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
$abfrage = "SELECT * FROM `".TOPICS_TABLE."` WHERE forum_id == '22' AND topic_calendar_time != 'NULL' ORDER BYtopic_calendar_time ";
if( !( $result = $db->sql_query($sql) ) )
{
message_die(CRITICAL_ERROR, 'Kann Themen Informationen nicht laden!', '', __LINE__, __FILE__, $sql);
}
echo $abfrage;
echo "<br>";
echo $abfrage[topic_calendar_time];
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
angezeigt werden sollen erstmal alle topics (namen) aus dem forum "22" bei denen ein topic_calendar_time eintrag vorhanden ist
in den reihen die kein timestamp enthalten steht "NULL"
kolja
zu sehen hier:
http://mona-davinci.de/phpbb/tcmanzeige.php
Verfasst: 08.12.2006 23:02
von Miriam
Code: Alles auswählen
$abfrage = "SELECT * FROM `".TOPICS_TABLE."` WHERE forum_id == '22' AND topic_calendar_time != 'NULL' ORDER BYtopic_calendar_time ";
// Wir wollten doch die neuesten 5?
if( !( $result = $db->sql_query($sql) ) )
{
message_die(CRITICAL_ERROR, 'Kann Themen Informationen nicht laden!', '', __LINE__, __FILE__, $sql);
}
echo $abfrage;
echo "<br>";
echo $abfrage[topic_calendar_time];
Autsch!
Erst belegt Du eine Varibale
$abfrage mit einem Query, aber der zur DB geschickte heisst dann
$sql?
Du bekommst einen Handle zurück ($result), aber Du wertest den garnicht aus....
Wir erwarten doch ein Array und das willst Du mit ECHO ausgeben?
Probiere es so:
Code: Alles auswählen
$sql = "SELECT * FROM " . TOPICS_TABLE . " WHERE forum_id = 22 AND topic_calendar_time IS NOT NULL ORDER BY topic_calendar_time DESC LIMIT 5";
if( !( $result = $db->sql_query($sql) ) )
{
message_die(CRITICAL_ERROR, 'Kann Themen Informationen nicht laden!', '', __LINE__, __FILE__, $sql);
}
$abfrage = array();
while ( $row = $db->sql_fetchrow($result) )
{
//Werte zuordnen
$abfrage[]['ausgelesene_Werte'] = $row['ausgelesene_Werte'];
}
print_r($abfrage);
An der Wertezuordnung muss man noch etwas feilen. Aber prinzipiell sollte es so klappen.
Verfasst: 09.12.2006 03:51
von kolja
fertig
http://mona-davinci.de/phpbb/tcmanzeige.php
danke für deine hilfe
template und erklärungen kommen morgen
kolja
Verfasst: 09.12.2006 10:23
von Miriam
Wieder was fertig....

Verfasst: 09.12.2006 12:46
von kolja
äähh noch nicht ganz...
ich komme mit der template zuweisung nicht zurecht...
hab mit den kb artikel als vorlage genommen, aber so funktioniert es leider nicht:
Code: Alles auswählen
//Werte zuordnen
if ( $row['topic_calendar_time'] > $timestamp ) {
$template->set_filenames(array(
'body' => 'calnext.tpl'
));
for($i=1; $i<=5; $i++) {
$template->assign_block_vars('zahlen', array(
'T_TITLE' => $row['topic_title'],
'DATE' => date("d.m.Y",$row['topic_calendar_time']),
));
}}}
$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
schade..
kolja
Verfasst: 09.12.2006 13:19
von Miriam
Den Code hast Du zum Laufen gebracht?
'DATE' => date("d.m.Y",$row[topic_calendar_time]),
));
Und gewöhne Dir bitte an $row[topic_calendar_time] so zu schreiben $row[
'topic_calendar_time
']. Das ändert im Moment nichts am Code als solches. Nur weil PHP
topic_calendar_time als Index nicht kennt, wird dieser Wert intern in eine Zeichenkette umgewandelt. Das muss aber nicht immer klappen.
Und wer weiss, wie
PHP6 darauf reagiert.
Verfasst: 09.12.2006 13:37
von kolja

ja der code lief so
ich hatte mir das von der timestamp ausgabe abgeschaut:
und ne ausgabe über echo lief ja auch genau so wie ich wolllte,
nur die template übergabe klappt immer noch nicht
kolja
p.s. code oben ist aktualisiert
Verfasst: 09.12.2006 14:11
von Miriam
Na wenn Du es so nicht hinbekommst, dann schreibe es vorher in eine Variable und weise es dann in den Templatevariablen zu.
Aber ich sehe gerade, dass die SQL Abfrage Schrott ist....
Du wolltest doch nicht die 5 neuesten, sondern die 5 nächsetn kommenden Ereignisse haben. Oder?
Verfasst: 09.12.2006 14:15
von kolja
ok das mit dem "umweg" über die variable werd ich mal versuchen
was macht denn das für einen unterschied ??
wg SQL
ja ich hab sie etwas angepasst
das ist der teil bis zur ausgabe:
Code: Alles auswählen
$timestamp = time();
$sql = "SELECT * FROM " . TOPICS_TABLE . " WHERE forum_id = 22 AND topic_calendar_time IS NOT NULL ORDER BY topic_calendar_time";
if( !( $result = $db->sql_query($sql) ) )
{
message_die(CRITICAL_ERROR, 'Kann Themen Informationen nicht laden!', '', __LINE__, __FILE__, $sql);
}
$abfrage = array();
while ( $row = $db->sql_fetchrow($result) ){
Verfasst: 09.12.2006 14:26
von kolja
also mit dem umweg klappt das leider auch nicht:
//Werte zuordnen
if ( $row['topic_calendar_time'] > $timestamp ) {
$template->set_filenames(array(
'body' => 'calnext.tpl'
));
$titel = $row['topic_title'];
$datum = date("d.m.Y",$row['topic_calendar_time']);
for($i=1; $i<=5; $i++) {
$template->assign_block_vars('zahlen', array(
'T_TITLE' => $titel,
'DATE' => $datum
));
}}}
$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
kolja, der so langsam verzweifelt...