Seite 4 von 6

Verfasst: 11.12.2006 18:54
von Miriam
Na die Auswertungsgeschichte kannst Du radikal kürzen.... Und was bekommst Du nicht zu sehen?

Verfasst: 11.12.2006 19:08
von kolja
naja radikal ??

ich hab jetzt nur die eine if bedingung entfernt....

mein code sieht jetzt so aus:

Code: Alles auswählen

include($phpbb_root_path . 'includes/page_header.'.$phpEx);
$sql = "SELECT * FROM " . TOPICS_TABLE . " WHERE forum_id = 22 AND  (topic_calendar_time - NOW() > 0) ORDER BY topic_calendar_time ASC LIMIT  0 , 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   
		$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);
?>
kann ich den denn noch weiter reduzieren ??

und leider stimmt was mit dem template noch nicht...

Code: Alles auswählen

Template->loadfile(): No files found for handle body
kolja

Verfasst: 11.12.2006 22:42
von Miriam
Das ganze könnte dann so aussehen:
tcmanzeige.php

Code: Alles auswählen

<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
$sql = "SELECT * FROM " . TOPICS_TABLE . "
       WHERE forum_id = 22 AND  (topic_calendar_time - NOW() > 0)
       ORDER BY topic_calendar_time ASC
       LIMIT  0 , 5";
if( !( $result = $db->sql_query($sql) ) )
{
      message_die(CRITICAL_ERROR, 'Kann Themen Informationen nicht laden!', '', __LINE__, __FILE__, $sql);
}
// Generate page
//

//
// Generate page
//

include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$template->set_filenames(array(
        'body' => 'calnext.tpl')
);
$i = 0;
while ( $row = $db->sql_fetchrow($result) )
{
      $template->assign_block_vars('zahlen', array(
      'T_TITLE' => $row['topic_title'],
      'DATE' => date("d.m.Y", $row['topic_calendar_time'])
      ));
      $i++;
}
$template->pparse('body');

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

?>
und calnext.tpl:

Code: Alles auswählen

<table>
<!-- BEGIN zahlen -->
<tr><td>Titel:</td><td>{zahlen.T_TITLE}</td></tr>
<tr><td>Datum:</td><td>{zahlen.DATE}</td></tr>
<!-- END zahlen -->
</table>

Verfasst: 12.12.2006 00:23
von kolja
danke miriam für das entrümpeln "meines" codes :-)

nur leider bekomme ich keine ausgabe der kalender daten,
sondern nur den header und footer...
http://mona-davinci.de/phpbb/tcmanzeige.php


kolja

Verfasst: 12.12.2006 09:36
von Miriam
:oops: :oops: :oops:
Mein Fehler: NOW() gibt die Zeit ja formatiert aus.

Code: Alles auswählen

<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
// Start session management
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
// End session management
$sql = "SELECT * FROM " . TOPICS_TABLE . "
       WHERE forum_id = 22 AND  (topic_calendar_time - UNIX_TIMESTAMP() > 0)
       ORDER BY topic_calendar_time ASC
       LIMIT  0 , 5";
if( !( $result = $db->sql_query($sql) ) )
{
      message_die(CRITICAL_ERROR, 'Kann Themen Informationen nicht laden!', '', __LINE__, __FILE__, $sql);
}
// Generate page
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$template->set_filenames(array(
        'body' => 'calnext.tpl')
);
while ( $row = $db->sql_fetchrow($result) )
{
      $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);

?>

Verfasst: 12.12.2006 18:30
von kolja
hi miriam

leider funktionier der code immer noch nicht...
ich hab ja schon ein ganz schlechtes gewissen, das du meinen ganzen code neu schreibst :oops:

BTT ;-)

an dem NOW() bzw. UNIX_TIMESTAMP liegt es vielleicht gar nicht
ohne diesen teil:

Code: Alles auswählen

AND  (topic_calendar_time - UNIX_TIMESTAMP() > 0) 
müsste er mir doch die ersten 5 topics ausgeben

aber es gibt einfach keine ausgabe....

kolja

edit:

vielleicht liegt es an der while schleife
wenn ich so tu:

Code: Alles auswählen

include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$template->set_filenames(array(
        'body' => 'calnext.tpl')
);
$i = 0;
while ( $row = $db->sql_fetchrow($result) )
{
      $template->assign_block_vars('zahlen', array(
      'T_TITLE' => $userdata,
      'DATE' => date("d.m.Y", $row['topic_calendar_time'])
      ));
      $i++;
}

      $template->assign_block_vars('zahlen', array( //////von mir
      'T_TITLE' => test,)); ////von mir

	  $template->pparse('body');

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
, dann wird mir test angezeigt

kolja

Verfasst: 12.12.2006 20:20
von Miriam
Naja, die Sache mit UNIX_TIMESTAMP() war schon richtig...

*die andern lachen wahrscheinlich schon alle*

Mach mal

Code: Alles auswählen

SELECT DISTINCT NOW( ) FROM phpbb_users;
und dann

Code: Alles auswählen

SELECT DISTINCT UNIX_TIMESTAMP( ) FROM phpbb_users; 
, dann siehst Du den Unterschied.

Und vor allem mach mal:

Code: Alles auswählen

SELECT * FROM phpbb_topics WHERE forum_id = 22 AND (topic_calendar_time - UNIX_TIMESTAMP() > 0) ORDER BY topic_calendar_time ASC;
Kommt da überhaupt was raus?

Verfasst: 12.12.2006 20:46
von kolja
meintest du dass so:

Code: Alles auswählen

// End session management
//
$sql = SELECT * FROM phpbb_topics 
		WHERE forum_id = 22 AND (topic_calendar_time - UNIX_TIMESTAMP() > 0) 
		ORDER BY topic_calendar_time ASC;
if( !( $result = $db->sql_query($sql) ) )
kolja

p.s. wir lachen zum schluss :-)

Verfasst: 12.12.2006 21:03
von Miriam
Mach mal die 3 Befehle in der DB direkt (also phpMyAdmin)

Verfasst: 12.12.2006 22:11
von kolja
ja, da funzt es :-)