Last Pic in Profile

Forum_Photo_Album_Addons_Desc

Last Pic in Profile

Beitragvon Dare » 27. Feb 2007 18:26

Ich würde gerne die letzten 3 hochgeladenen Bilder eines Users in dessen Profil anzeigen lassen.

Ich hätte es so probiert:
$sql = "SELECT pic_id, pic_title, pic_time, pic_desc FROM " . ALBUM_TABLE . " WHERE pic_username='".$profiledata['username']."'
# AND pic_lock = 0
AND pic_approval = 1
ORDER BY pic_time DESC
LIMIT 3";


aber das geht nicht, es wird trotzdem immer nur ein Bld angezeigt.
Kannst du bitte helfen amigalink?
[dare]
Dare
 
Beiträge: 15
Registriert: 9. Dez 2005 15:45

Beitragvon AmigaLink » 28. Feb 2007 12:54

Nun ja, die Änderung der Datenbankabfrage ist richtig aber schau dir doch mal den rest des Codes an.
Wie sollen die zusätzlichen Bilder denn angezeigt werden wenn die Variable, die für die Definition der constante (Platzhalter für das Template) genutzt wir,) bei jedem weiterem Bild das vorherige wieder überschreibt? ;)

Die einfachste Lösung wäre so:
Code: Alles auswählen
#
#-----[ OPEN ]----------------------------------------------------------------
#

includes/usercp_viewprofile.php

#
#-----[ FIND ]----------------------------------------------------------------
#

// <!-- BEGIN Users Last Album Pic -->
   $sql = "SELECT pic_id, pic_title, pic_time, pic_desc FROM " . ALBUM_TABLE . " WHERE pic_username='".$profiledata['username']."'
#      AND pic_lock = 0
      AND pic_approval = 1
      ORDER BY pic_time DESC
      LIMIT 1";
   if ( !($query_result = $db->sql_query($sql)) )
   {
      message_die(GENERAL_ERROR, 'Could not obtain uploaded pics information', '', __LINE__, __FILE__, $sql);
   }
   $result = $db->sql_query($sql);
   $users_last_album_pic_id = '';
   $users_last_album_pic_title = '';
   $users_last_album_pic_desc = '';
   while ($row = mysql_fetch_array($result))
   {
      $users_last_album_pic_id = $row['pic_id'];
      $users_last_album_pic_title = $row['pic_title'];
      $users_last_album_pic_desc = $row['pic_desc'];
      $users_last_album_pic_time = $row['pic_time'];
   }

   If ( $users_last_album_pic_id )
   {
      $users_last_album_pic = '<a href="album_pic.php?pic_id=';
      $users_last_album_pic .= $users_last_album_pic_id;
      $users_last_album_pic .= '" target="_blank" class="postlink"><img src="album_thumbnail.php?pic_id=';
      $users_last_album_pic .= $users_last_album_pic_id;
      $users_last_album_pic .= '" alt="'.$users_last_album_pic_desc.'" title="'.$users_last_album_pic_desc.'" border="0" /></a>';
   }
   else
   {
      $users_last_album_pic = '';
   }
// <!-- END Users Last Album Pic -->

#
#-----[ REPLACE WITH ]--------------------------------------------------------
#

// <!-- BEGIN Users Last Album Pic -->
   $sql = "SELECT pic_id, pic_title, pic_time FROM " . ALBUM_TABLE . " WHERE pic_username='".$profiledata['username']."'
      AND pic_approval = 1
      ORDER BY pic_time DESC
      LIMIT 3";
   if ( !($query_result = $db->sql_query($sql)) )
   {
      message_die(GENERAL_ERROR, 'Could not obtain uploaded pics information', '', __LINE__, __FILE__, $sql);
   }
   $result = $db->sql_query($sql);
   $users_last_album_pic = '';
   $users_last_album_pic_title = '';
   while ($row = mysql_fetch_array($result))
   {
      $users_last_album_pic_title = $row['pic_title'].' ('.create_date($lang['DATE_FORMAT'], $row['pic_time'], $board_config['board_timezone']).')';

      $users_last_album_pic .= '&nbsp;<a href="album_pic.php?pic_id=';
      $users_last_album_pic .= $row['pic_id'];
      $users_last_album_pic .= '" target="_blank" class="postlink"><img src="album_thumbnail.php?pic_id=';
      $users_last_album_pic .= $row['pic_id'];
      $users_last_album_pic .= '" alt="'.$users_last_album_pic_title.'" title="'.$users_last_album_pic_title.'" border="0" align="middle" /></a>';
   }
// <!-- END Users Last Album Pic -->

#
#-----[ FIND ]----------------------------------------------------------------
#

// <!-- BEGIN Users Last Album Pic -->
if ($users_last_album_pic)
{
   $template->assign_block_vars("users_last_album_pic", array(
      'LAST_ALBUM_PIC' => $users_last_album_pic,
      'L_USERS_LAST_ALBUM_PIC' => $lang['Users_Last_Album_Pic'],
      'LAST_ALBUM_PIC_TITLE' => $users_last_album_pic_title,
      'LAST_ALBUM_PIC_TIME' => '('.create_date($lang['DATE_FORMAT'], $users_last_album_pic_time, $board_config['board_timezone']).')'));
}
// <!-- END Users Last Album Pic -->

#
#-----[ REPLACE WITH ]--------------------------------------------------------
#

// <!-- BEGIN Users Last Album Pic -->
if ($users_last_album_pic)
{
   $template->assign_block_vars("users_last_album_pic", array(
      'LAST_ALBUM_PIC' => $users_last_album_pic,
      'L_USERS_LAST_ALBUM_PIC' => $lang['Users_Last_Album_Pic'],
}
// <!-- END Users Last Album Pic -->

#
#----------[ OPEN ]-------------------------------------
#

templates/subSilver/profile_view_body.tpl

#
#-----[ FIND ]----------------------------------------------------------------
#

   <td class="row1" align="center" class="explaintitle">
      <!-- BEGIN users_last_album_pic -->
      {users_last_album_pic.L_USERS_LAST_ALBUM_PIC}<br /><br />
      <table cellspacing="0" cellpadding="0" border="0">
         <tr><td align="center">
            <table cellspacing="0" cellpadding="0" border="3">
               <tr><td>{users_last_album_pic.LAST_ALBUM_PIC}</td></tr>
            </table>
         </td></tr>
         <tr><td align="center" class="row1">
            <span class="genmed"><b>{users_last_album_pic.LAST_ALBUM_PIC_TITLE}</b><br /></span>
            <span class="gensmall">{users_last_album_pic.LAST_ALBUM_PIC_TIME}</span>
         </td></tr>
      </table>
      <!-- END users_last_album_pic -->
   </td>

#
#-----[ REPLACE WITH ]--------------------------------------------------------
#

   <td class="row1" align="center" class="explaintitle">
      <!-- BEGIN users_last_album_pic -->
      {users_last_album_pic.L_USERS_LAST_ALBUM_PIC}<br /><br />
      <table cellspacing="0" cellpadding="0" border="0">
         <tr><td align="center">
            <table cellspacing="0" cellpadding="0" border="0">
               <tr><td>{users_last_album_pic.LAST_ALBUM_PIC}</td></tr>
            </table>
         </td></tr>
      </table>
      <!-- END users_last_album_pic -->
   </td>

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------------
#
# EoM
[center](Zusätzlich natürlich noch die $lang['Users_Last_Album_Pic'] in der lang_main.php anpassen. ;))[/center]
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon Dare » 28. Feb 2007 18:46

servus, also habs nun so installiert, aber es wird immer nur das letzte bild angezeigt. also wieder keine 3 bilder, sondern nur eins... :-(
[dare]
Dare
 
Beiträge: 15
Registriert: 9. Dez 2005 15:45

Beitragvon AmigaLink » 28. Feb 2007 20:16

Dann schau mal schnell was du falsch gemacht hast. Ich habe den Code nämlich getestet bevor ich ihn gepostet habe. :)
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon Dare » 28. Feb 2007 22:09

ah ja.. stimmt, hatte ich nen fehler drinnen.


ok dann noch was: bei der "normalen" version des mods gibts ja die möglichkeit, einen etxt oder ein bild anzeigen zu lassen wenn der user noch gar kein bild ins album hochgeladen hat.

Code: Alles auswählen
else 

$users_last_album_pic = '<img src="images/no.gif">'; 
}


geht das bei der neuen version auch? wenn ja wie (code)?
[dare]
Dare
 
Beiträge: 15
Registriert: 9. Dez 2005 15:45

Beitragvon AmigaLink » 1. Mär 2007 12:11

wenn ja wie (code)?
Darauf reagiere ich ein wenig Allergisch!
Vor allem wenn es von jemandem kommt der bereits eigene MODs verfasst hat und seit Jahren immer und immer wieder Fragen stellt, deren Lösung (mit etwas PHP Grundwissen) absolut offensichtlich ist. :roll:

Schalt mal bitte dein Köpfchen ein.
Du hast die Lösung nämlich bereits selber Präsentiert! (Stchwort: If ... else ...) ;)
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW


Zurück zu Photo Album Addons



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron