Seite 3 von 3

Verfasst: 25.03.2006 19:06
von karstenkurt
Ja.
Hab auch eine .htaccess angelegt, damit er wirklich die index.php anzieht.
nix.

wenn ich die Datei direkt aufrufe kommt eine Fehlermeldung
imagecreatefrompng(): gd-png: fatal libpng error: IDAT: CRC error in /www/htdocs/xxx/sis.gif/index.php on line 65

Verfasst: 25.03.2006 20:33
von karstenkurt
So, die Fehlermeldung ist weg. Die Sig. wird angezeigt.

Hab einfach eine Gif hochgeladen und im Script imagecreatefrompng durch imagecreatefromgif ersetzt.

Verfasst: 25.03.2006 21:26
von easygo
karstenkurt hat geschrieben:So, die Fehlermeldung ist weg. Die Sig. wird angezeigt.
Hier nicht. Welche GD Lib Version wird verwendet?

Verfasst: 25.03.2006 22:12
von karstenkurt
Nein hier noch nicht. Muss erstmal den grafischen Teil erledigen.
:grin:
Version:
bundled (2.0.28 compatible)

Verfasst: 25.03.2006 22:19
von easygo
karstenkurt hat geschrieben:bundled (2.0.28 compatible)
Ahja, also irgendso ein Mix (Pfusch) vom Hoster nehm ich an.

Ich frag nur deswegen --> imagecreatefromgif()
ACHTUNG: Ab Version 1.6 wurde die komplette GIF-Unterstützung aus der GD-Bibliothek entfernt. Diese Funktion ist also nur verfügbar, wenn Sie eine Version vor 1.6 verwenden.

Verfasst: 25.03.2006 22:24
von karstenkurt
Ok, danke für den Hinweis.

Wenn dann mal ein Update ansteht, werd ich die PNG wieder einbauen.

Verfasst: 01.04.2006 00:48
von karstenkurt
Aber so ein "klitzekleiner" Bug ist da auch noch drinne :D

Um die Anzahl der Topics zu ermitteln wird dieses SQL-Statement benutzt;

Code: Alles auswählen

$sql = "SELECT max(topic_id) FROM " . TOPICS_TABLE;
Da man auch mal eine Topic löschn kann, sollte der lieber

Code: Alles auswählen

$sql = "SELECT count(*) FROM " . TOPICS_TABLE;
heissen.
Dannn funzt aber leider die nächste Abfrage nicht mehr

Code: Alles auswählen

$sql = "SELECT topic_title FROM " . TOPICS_TABLE . "
	WHERE topic_id = " . $max_topic_id;
Dadurch hab ich bei mir augenblicklich 6068 Themen und 5954 Beiträge. Der DB-Maintance, welcher Topics ohne Text (wovon ja 114 existieren müssten) löscht meckert garnicht rum.

Verfasst: 02.04.2006 00:44
von easygo
Query ist alt und komplett überflüssig / aus 2 mach 1 -->

Code: Alles auswählen

$sql = "SELECT max(topic_id) FROM " . TOPICS_TABLE; 
if ( !($result = $db->sql_query($sql)) ) 
{ 
   message_die(GENERAL_ERROR, 'Could not retrieve max topic id', '', __LINE__, __FILE__, $sql); 
} 

while ( $row = $db->sql_fetchrow($result)) 
{ 
   $max_topic_id = $row['max(topic_id)']; 
} 

$sql = "SELECT topic_title FROM " . TOPICS_TABLE . " 
   WHERE topic_id = " . $max_topic_id; 
if ( !($result = $db->sql_query($sql)) ) 
{ 
   message_die(GENERAL_ERROR, 'Could not obtain topic data', '', __LINE__, __FILE__, $sql); 
} 

while ( $row = $db->sql_fetchrow($result)) 
{ 
   $latest_topic = $row['topic_title']; 
}
ersetzen durch

Code: Alles auswählen

$sql = "SELECT t.topic_title, p.post_time 
   FROM " . TOPICS_TABLE . " t, " . POSTS_TABLE . " p 
      LEFT JOIN " . FORUMS_TABLE . " f ON t.forum_id = f.forum_id 
         WHERE p.post_id = t.topic_last_post_id 
         AND f.auth_view < 2 
   ORDER BY t.topic_last_post_id DESC LIMIT 0,1"; 
if ( !($result = $db->sql_query($sql)) ) 
{ 
   message_die(GENERAL_ERROR, 'Could not obtain last topic data', '', __LINE__, __FILE__, $sql); 
} 
while ( $row = $db->sql_fetchrow($result)) 
{ 
   $latest_topic = $row['topic_title']; 
} 
$db->sql_freeresult($result);
Quelle: http://www.net4seven.de/ftopic208.html

Vorteile / Unterschiede:
  • 1 Datenbankabfrage weniger
  • Anzeige des letzten "aktiven" Themas
  • beschränkt auf Themen mit Lesezugriff für Gäste