Seite 1 von 1

Zeit 01.01.1970

Verfasst: 09.07.2004 15:15
von kratzer54847
ok die andere Sache hab ich gelöst,aber jetzt wird bei jedem Post bei der Zeit des letzen Beitrages der 1. Januar 1970 angezeigt...

Code: Alles auswählen

$sql = "SELECT * 
FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f , " . USERS_TABLE . " u, " . POSTS_TABLE . " p
WHERE t.topic_type = 2
AND t.forum_id = f.forum_id
AND t.topic_id = p.topic_id
AND p.post_id = t.topic_last_post_id
AND u.user_id = p.poster_id
ORDER BY t.topic_time DESC
LIMIT 5";
$result = mysql_query($sql);

if ( !($result = $db->sql_query($sql)) ) 
{ 
	message_die(GENERAL_ERROR, 'Error in obtaining Announcement data', '', __LINE__, __FILE__, $sql); 
}
$AnnouncementList = array(); 
while ($row = $db->sql_fetchrow($result) ) 
{ 
	$AnnouncementList['title'] = $row['topic_title'];
	$AnnouncementList['forum_name'] = $row['forum_name'];
	$AnnouncementList['forum_id'] = $row['forum_id'];
	$AnnouncementList['last_post_time'] = $row['last_post_time'];
	$AnnouncementList['views'] = $row['topic_views'];
	$AnnouncementList['comments'] = $row['topic_replies'];
	$AnnouncementList['last_post_author'] = $row['username'];
	$AnnouncementList['last_post_time'] = date ("d.m.Y", $row['last_post_time']); 
	$AnnouncementList['topic_id'] = $row['topic_id'];
	$AnnouncementList['last_post_user_id'] = $row['user_id'];
	$AnnouncementList['last_post_id'] = $row['topic_last_post_id'];

	$template->assign_block_vars('announcement', array( 
		'ATOPICTITLE' => $AnnouncementList['title'],
		'ATOPICFORUM' => $AnnouncementList['forum_name'],
		'ATOPICLASTPOSTTIME' => $AnnouncementList['last_post_time'],
		'ATOPICVIEWS' => $AnnouncementList['views'],
		'ATOPICREPLIES' => $AnnouncementList['comments'],
		'ATOPICFORUMID' => $AnnouncementList['forum_id'],
		'ATOPICLASTPOSTID' => $AnnouncementList['last_post_id'],
		'ATOPICID' => $AnnouncementList['topic_id'],
		'ATOPICLASTPOSTTIME' => $AnnouncementList['last_post_time'],
		'ATOPICLASTPOSTAUTHOR' => $AnnouncementList['last_post_author'],
		'ATOPICLASTPOSTUSERID' => $AnnouncementList['last_post_user_id'])
		); 
 
}

Verfasst: 09.07.2004 17:34
von Dennis63
Dann steht in $row['last_post_time'] wohl eine "0". Schecke mal Dein MySQL-Qurry mit phpMyAdmin oder noch besser mit MySQLFront.de ab, ob da wirklich null drinne steht oder nicht.

Generell ist es immer schlecht "SELECT *" zu schreiben, da man immer Probleme bekommen kann. Haben z.B. zwei Spalten in zwei Tabellen die gleichen Namen, dann haste mit * ein Problem.
Ändere das auch gleich mit ab...


Grüße
Dennis

Verfasst: 09.07.2004 21:58
von kratzer54847
ich hab mal die Zeile so abgeändert:

Code: Alles auswählen

$AnnouncementList['last_post_time'] = create_date($board_config['default_dateformat'], $row['last_post_time'], $board_config['board_timezone']);
aber kein Erfolg :(

Verfasst: 09.07.2004 23:11
von Dennis63
Wenn ne null von MySQL zurückgegeben wird, weil Deine Abfrage falsch ist, dann kann der beste PHP-Text nichts bewirken.

Führe die MySQLAbfrage mal in MySQLFront aus und poste das Ergebnis hier.


Grüße
Dennis

Verfasst: 10.07.2004 08:00
von kratzer54847
Hallo,

ich habe den Fehler gefunden,

danke!