Letztes Attachmentbild im anzeigen

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
mora
Mitglied
Beiträge: 64
Registriert: 19.08.2005 11:23

Letztes Attachmentbild im anzeigen

Beitragvon mora » 28.11.2005 13:57

Hallo,
ich würde gerne auf der Indexseite des Forums stets ein kleines Bild des zuletzt geposteten Attachments (Bild) mit ein paar Informationen dazu (z.b. Poster, Subforum, Beitragstitel, Datum) anzeigen lassen.
Meiner Suche nach scheint es sowas in der Art noch nicht zu geben.

Eventuell würde ich mich auch selbst um eine Lösung bemühen :roll: , wenn mir jemand etwas Hilfestellung bei der Ermittlung des letzten Postings mit einem Attachment gibt und mir die passende Select-Anweisung hierfür nennen könnte ;-)
Den Rest such ich mir dabei.

Hilft mir jemand?
Vielen Dank
monika

Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 15341
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitragvon Dr.Death » 28.11.2005 14:09

Hm,

wenn man davon ausgeht, das die höchste ID das aktuellste Attachment ist:

quick and dirty:


Code: Alles auswählen

   $sql = "SELECT * FROM phpbb_attachments
         ORDER BY attach_id ASC ";
   
   $result = $db->sql_query($sql);

   while ($row = $db->sql_fetchrow($result))
   {
      $last_attachment = $row['attach_id'];
   }


Damit hast du in der Variablen $last_attachment die attachment_id des letzten Uploads stehen.

Vielleicht kannst du damit was anfangen.

fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitragvon fanrpg » 28.11.2005 14:29

dr.death hat geschrieben:Hm,

wenn man davon ausgeht, das die höchste ID das aktuellste Attachment ist:

quick and dirty:


Code: Alles auswählen

   $sql = "SELECT * FROM phpbb_attachments
         ORDER BY attach_id ASC ";
   
   $result = $db->sql_query($sql);

   while ($row = $db->sql_fetchrow($result))
   {
      $last_attachment = $row['attach_id'];
   }


Damit hast du in der Variablen $last_attachment die attachment_id des letzten Uploads stehen.

Vielleicht kannst du damit was anfangen.


Ehm nicht wirklich

Code: Alles auswählen

$sql = "SELECT * FROM `phpbb_attachements` WHERE `extension`= 'jpg' OR `extension` = 'jpeg' OR `extension` = 'png' ORDER BY `attach_id` DESC LIMIT 1";
if(!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not query last attachement', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$attach_id = $row['attach_id'];
$filename = $row['real_filename'];
echo '<img src="media/'.$filename.'" alt="" border="0">';

Das müsste soweit eigentlich funktionieren, aber ungetestet :wink:

mora
Mitglied
Beiträge: 64
Registriert: 19.08.2005 11:23

Beitragvon mora » 28.11.2005 14:39

Danke, das ist zumindest schon mal ein Anfang :D
Aber willst du tatsächlich immer gleich ALLE Attachments auslesen?
Zur Zeit sind es mehr als 40000 Bilder....

Ist es nicht besser genau EINS (das letzte) auszulesen? Wegen der Performance, oder macht das nichts?

mora
Mitglied
Beiträge: 64
Registriert: 19.08.2005 11:23

Beitragvon mora » 28.11.2005 14:40

UUps, da war jemand schneller :grin:

mora
Mitglied
Beiträge: 64
Registriert: 19.08.2005 11:23

Beitragvon mora » 28.11.2005 14:43

Oh super, du hast ja gleich schon eine Bildanzeige dabei!

Würden mir nur die Daten des dazugehörigen Beitrags fehlen.... :roll: :wink:


(und noch ein paar kleinigkeiten)

fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitragvon fanrpg » 28.11.2005 14:49

Code: Alles auswählen

$sql = "SELECT * FROM `phpbb_attachements` WHERE `extension`= 'jpg' OR `extension` = 'jpeg' OR `extension` = 'png' ORDER BY `attach_id` DESC LIMIT 1";
if(!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not query last attachement', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$attach_id = $row['attach_id'];
$filename = $row['real_filename'];
$topic_id = $row['topic_id'];
echo '<a href="'.append_sid($phpbb_root_path.'viewtopic.'.$phpEx.'?t='.$topic_id).'"><img src="media/'.$filename.'" alt="" border="0"></a>';

Auf den direkten Beitrag kann man nicht springen nur aus Thema soviel in in der Struktur soweit sehen kann.
Oder ich hab ne andere Version vom Attach Mod.

mora
Mitglied
Beiträge: 64
Registriert: 19.08.2005 11:23

Beitragvon mora » 28.11.2005 15:01

Ok soweit! :grin:
Auf das Thema springen ist schon gut.
Kann ich auch den User ermitteln und anzeigen, der das Bild gepostet hat?

Kann ich meine Bild so ausgeben? =>

Code: Alles auswählen

$size = GetImageSize ("media/'.$filename."); $noh=$size[1]/5; $now=$size[0]/5;
echo '<img src="media/'.$filename." width="$now" height="$knoh" border="0">';
Zuletzt geändert von mora am 28.11.2005 15:12, insgesamt 1-mal geändert.

fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitragvon fanrpg » 28.11.2005 15:12

Code: Alles auswählen

$sql = "SELECT * FROM `phpbb_attachements` WHERE `extension`= 'jpg' OR `extension` = 'jpeg' OR `extension` = 'png' ORDER BY `attach_id` DESC LIMIT 1";
if(!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not query last attachement', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$attach_id = $row['attach_id'];
$filename = $row['real_filename'];
$topic_id = $row['topic_id'];
$poster_id = $row['poster_id'];
$sql = "SELECT `username`, `user_id` FROM `".USERS_TABLE."` WHERE `user_id` = '".$poster_id."' LIMIT 1";
if(!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not query attachement->userdata', '', __LINE__, __FILE__, $sql);
}
$attach_user = $db->sql_fetchrow($result);

     $size = getimagesize('media/'.$filename.');
       $height = $size[1];
       $width = $size[0];
     if ($height > 150)
         {
               $height = 150;
               $percent = ($size[1] / $height);
               $width = ($size[0] / $percent);
         }
     else if ($width > 150)
         {
               $width = 150;
               $percent = ($size[0] / $width);
               $height = ($size[1] / $percent);
         }
$user_link = append_sid($phpbb_root_path.'profile.php?mode=viewprofile&u='.$attach_user['user_id']);
echo '<a href="'.$user_link.'">'.$user_attach['username'].'</a><br />
<a href="'.append_sid($phpbb_root_path.'viewtopic.'.$phpEx.'?t='.$topic_id).'"><img src="media/'.$filename.'" alt="" border="0" width="'.$width.'" height="'.$height.'"></a>';


Jetzt alles erfüllt?

mora
Mitglied
Beiträge: 64
Registriert: 19.08.2005 11:23

Beitragvon mora » 28.11.2005 15:19

Herzlichen Dank, die wesentlichen Spezifikationen sind erfüllt.

Wobei die Ausgabe des Themenstitel noch eine wundervolle Ergänzung wäre....
...aber das musst du nicht mehr machen, ich kann ja probieren ob ich es auch schaffe obwohl das in keinem Verhältniss zu deiner Arbeitsgeschwindigkeit stehen würde :wink:

Wie dem auch sei: Deine Hilfe ist echt TOP!

monika


Zurück zu „phpBB 2.0: Mods in Entwicklung“