Seite 3 von 4

Verfasst: 28.11.2005 18:12
von mora
mist, mit meinem Präfix klappt es auch nicht. ist es denn korrekt, dass auch der DB_Name vor der gesuchten Tabelle steht?

Verfasst: 28.11.2005 18:15
von fanrpg
Ja das ist die MySQL Fehlermeldung

Gib mal deine Attachtabellen , und poste mal die ganze Datei als .txt Datei

KB:datei

Verfasst: 28.11.2005 18:26
von mora
fanrpg hat geschrieben: Gib mal deine Attachtabellen ,
Meinst du namentlich?

[url=http://www.show_lastpic.txt]Hier[/url]ist die txt

Verfasst: 28.11.2005 18:28
von fanrpg
mora hat geschrieben:
fanrpg hat geschrieben: Gib mal deine Attachtabellen ,
Meinst du namentlich?

Hierist die txt
Ja namentlich und mit Struktur, ich glaube ich habe die von Olympus verwendet :oops:

Verfasst: 28.11.2005 18:34
von mora
Alle Tabellen mit ihren Feldern ?

Kann ich dir auch ein screenshot zusammenbasteln?

Verfasst: 28.11.2005 19:19
von fanrpg
ja kannst du auch, aber einfacher ist das in phpmyadmin auf exportieren zu klicken und die Ausgabe mir zu geben.

Verfasst: 28.11.2005 19:22
von mora
Während ich schauen gehe, wie du das meinst, vielleicht hilft dir das schonmal
_attach_quota
_attachments_config

(diese beiden sind vermutlich unrelevant)

_attachments
attach_id
post_id
privmsgs_id
user_id_1
user_id_2

_attachments_desc
attach_id
physical_filename
real_filename
download_count
comment
extension
mimetype
filesize
filetime
thumbnail

Verfasst: 28.11.2005 19:23
von fanrpg
Ja das dürfte schon reichen, ich bastel den mal nen kleines Script für dich :wink:

Verfasst: 28.11.2005 19:37
von mora
Oh, da freue ich mich aber!:D
darf ich noch anmerken, dass die längste Seite der ausgegebenen Bilder im Idealfall immer 120 Pixel betragen könnte? :oops:

Verfasst: 28.11.2005 19:54
von fanrpg

Code: Alles auswählen

<?php 
//Benötigte Dateien und Variablen von phpBB 
define('IN_PHPBB', true); 
$phpbb_root_path = './'; 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 


//Session auslesen und Benutzer-Informationen laden 
$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata); 


//Dieser Block kann weggelassen werden, wenn du nur den die Userdaten brauchst und auf den phpBB-Header verzichen möchtest 
$page_title = ''; 
include($phpbb_root_path . 'includes/page_header.'.$phpEx); 

// Haupt Limit eingeben
$limit = 1;
$max_hoehe = 150;
$max_breit = 150;

// Sammle Haupt Informationen für das Bild
$sql = "SELECT * FROM `phpbb_attachments_desc` WHERE `extension` = 'jpg' OR `extension` = 'jpeg' OR `extension` = 'png' ORDER BY `attach_id` DESC LIMIT $limit";
if(!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not query last attachement', '', __LINE__, __FILE__, $sql);
}
while($attach_data = $db->sql_fetchrow($result)) {

//Sammle Informationen für die post_id
$sql = "SELECT * FROM `phpbb_attachments` WHERE `attach_id` = '".$attach_data['attach_id']."' LIMIT 1";
if(!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not query general attachement data', '', __LINE__, __FILE__, $sql);
}
$attach_general = $db->sql_fetchrow($result);

$post_id = $attach_general['post_id'];
$filename = $phpbb_root_path.'files/'.$attach_data['physical_filename'];
$filetime = $attach_data['filetime'];
$filetime = date('d.m.Y H:i', $filetime);

// Lade Username und User Id aus der Datenbank
$sql = "SELECT `username`, `user_id` FROM `".USERS_TABLE."` WHERE `user_id` = '".$attach_general['user_id_1']."' LIMIT 1";
if(!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not query userdata', '', __LINE__, __FILE__, $sql);
}
$attach_user = $db->sql_fetchrow($result);

// Ermitteln von Daten für kleineres Bild
       $size = getimagesize($filename); 
       $height = $size[1]; 
       $width = $size[0]; 
     if ($height > $max_hoehe) 
         { 
               $height = 150; 
               $percent = ($size[1] / $height); 
               $width = ($size[0] / $percent); 
         } 
     else if ($width > $max_breite) 
         { 
               $width = 150; 
               $percent = ($size[0] / $width); 
               $height = ($size[1] / $percent); 
         }

// Ausgeben
$post_link = append_sid($phpbb_root_path.'viewtopic.'.$phpEx.'?p='.$post_id.'#'.$post_id);
$user_link = append_sid($phpbb_root_path.'profile.'.$phpEx.'?mode=viewprofile&u='.$attach_user['user_id']);
echo '<a href="'.$post_link.'"><img src="'.$filename.'" border="0" width="'.$width.'" height="'.$height.'" /></a><br />';
echo 'Von <a href="'.$user_link.'">'.$attach_user['username'].'</a>';

} // Ende der While Schleife

//Footer - nur dann weglassen, wenn du auch den Header weglässt 
include($phpbb_root_path . 'includes/page_tail.'.$phpEx); 
?>
Ungetestet dürfte aber gehen

Und hier kannst du sogar kleinere Einstellungen vornehmen:

Code: Alles auswählen

$limit = 1;
$max_hoehe = 150;
$max_breit = 150;
Wenn du das Limit von 1 auf z.B 5 herauf setzt gibt er die 5 letzten Bilder aus.
Und max_hoehe und max_breite bestimmt die maximale ausgabegrösse der Bilder in höhe und breite :wink:

EDIT:

Habs jetzt getestet, funktioniert, und nen Bug oben im Script habe ich auch noch entfernt, aber jetzt funktioniert das so wie gewüsncht :wink: