Seite 2 von 2

Verfasst: 31.10.2006 13:43
von Dr.Death
Oops, mea culpa. :oops:

Verfasst: 01.11.2006 13:19
von SKYSURFER2002
Jo, danke für eure Hilfe. Nun klappt es wie ich es mir gedacht hatte.

Werde aber in Zukunft wohl noch öfters auf euch zurückkommen müssen.


Christian

Verfasst: 02.11.2006 12:03
von SKYSURFER2002
Hallo,

leider habe ich mich zu früh gefreut. Es gibt schon wieder Probleme.

Das Script funktioniert nicht mehr. Ich bekomme folgende Ausgabe:

Code: Alles auswählen

<table width="370" border="0" cellspacing="0" cellpadding="0">
</tabele>
hier mal das geänderte Template

Code: Alles auswählen

<table width="370" border="0" cellspacing="0" cellpadding="0">
				<!-- BEGIN bilder_row -->
				<tr align="center" valign="middle"> 
				  <!-- BEGIN bilder_col -->
				  <td><a href="bilder.php?action=pic"><img src="{bilder_row.bilder_col.PFAD_THUMB}" border="0" alt="" title="" /></a></td>
				  <!-- END bilder_col -->
				</tr>
				<!-- END bilder_row -->
</tabele>
und der PHP- Code

Code: Alles auswählen

<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
include($phpbb_root_path . 'includes/guestbook.inc');

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_GUESTBOOK);
init_userprefs($userdata);
//
// End session management
//

   $template->set_filenames(array(
   'body' => 'test_bilder.tpl')
   );



   $sql = "SELECT id, id_kat, pfad_bild, pfad_thumb, autor_id, hits FROM bilder_pics id_kat='87' ORDER BY id";
   if ($result = $db->sql_query($sql))
   {
      $num_bilder = 0;
      $rowset = array();
      while ($row = $db->sql_fetchrow($result))
      {
         if (empty($rowset[$row['id']]))
         {
            $rowset[$row['id']] = $row['id'];
            $rowset[$row['id_kat']] = $row['id_kat'];
            $rowset[$row['pfad_bild']] = $row['pfad_bild'];
            $rowset[$row['pfad_thumb']] = $row['pfad_thumb'];
            $rowset[$row['autor_id']] = $row['autor_id'];
            $rowset[$row['hits']] = $row['hits'];
            $num_bilder++;
         }
      }
      
         $db->sql_freeresult($result);
         
      if ($num_bilder)
      {
         $smilies_count = min(19, $num_bilder);
         $smilies_split_row = intval(4) - 1;

         $s_colspan = 0;
         $row = 0;
         $col = 0;

         while (list($pfad_bild, $data) = @each($rowset))
         {
            if (!$col)
            {
               $template->assign_block_vars('bilder_row', array());
            }

            $template->assign_block_vars('bilder_row.bilder_col', array(
               'SMILEY_CODE' => $data['code'],
               'PFAD_THUMB' => $data['pfad_thumb'],
               'SMILEY_DESC' => $data['emoticon'])
            );

            $s_colspan = max($s_colspan, $col + 1);

            if ($col == $smilies_split_row)
            {
               if ($row == intval(6) - 1)
               {
                  break;
               }
               $col = 0;
               $row++;
            }
            else
            {
               $col++;
            }
         }

         $template->assign_vars(array(
            'L_EMOTICONS' => $lang['Emoticons'],
            'S_SMILIES_COLSPAN' => $s_colspan)
         );
      }
   }
$template->pparse('body');

// standard page footer


?>

Habe ich da etwas falsch verstanden?

Nun habe ich aber nochmal eine generelle Frage. Was passiert denn eigentlich hier:

Code: Alles auswählen

$sql = "SELECT emoticon, code, smile_url   
      FROM " . SMILIES_TABLE . "
      ORDER BY smilies_id";
   if ($result = $db->sql_query($sql))
   {
      $num_smilies = 0;
      $rowset = array();
      while ($row = $db->sql_fetchrow($result))
      {
         if (empty($rowset[$row['smile_url']]))
         {
            $rowset[$row['smile_url']]['code'] = str_replace("'", "\\'", str_replace('\\', '\\\\', $row['code']));
            $rowset[$row['smile_url']]['emoticon'] = $row['emoticon'];
            $num_smilies++;
         }
      }
      
         $db->sql_freeresult($result);
Speziell das

Code: Alles auswählen

if ($result = $db->sql_query($sql))
und das folgende.


Danke für eure Hilfe.



SKYSURFER