Seite 1 von 1

zeilenumbruch erzwingen

Verfasst: 20.02.2005 22:28
von Lord_Femto
hallo. wenn ich bilder meiner bildergalerie aufliste so entsteht eine lange reihe von bildern. das hat zur folge, dass man immer horizontal scrollen muss. wie kann ich einen zeilenumbruch nach jedem 4. bild erzwingen?

bilder werden mittels db ausgelesen und mit schleife übertragen:

Code: Alles auswählen

$sql = "SELECT picture_content_id, picture_content_link, picture_content_title FROM " . PICTURE_CONTENT_TABLE . " WHERE picture_categorie_id='" . $_GET['picture_categorie_id'] . "'";
	if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not obtain matched posts list', '', __LINE__, __FILE__, $sql);
		}
		
			while( $row = $db->sql_fetchrow($result) )
			{
				$template->assign_block_vars('picture_content', array(
					'I_IMAGE' => '<img src="images/' . rawurlencode($picture_categorie) . '/thumbs/' . rawurlencode($row['picture_content_link']) . '" alt="' . $row['picture_content_title'] . '" title="' . $row['picture_content_title'] . '" width="150" height="113" border="0" />',
					
					'L_IMAGE' => $row['picture_content_title'],
					
					'U_IMAGE' => 'index.' . $phpEx . '?show=picture_gallery&picture_categorie=' . $picture_categorie . '&picture=' . rawurlencode($row['picture_content_link']) . '&picture_title=' . $row['picture_content_title'] )
				);
			}
und dann noch:

Code: Alles auswählen

	<table width="100%" cellspacing="0" cellpadding="0" border="0">
		<tr>
			<!-- BEGIN picture_content -->
			<td><a href="{picture_content.U_IMAGE}" onclick="MapWindow()" target="image" title="{picture_content.L_IMAGE}">{picture_content.I_IMAGE}</a></td>
			<!-- END picture_content -->
		</tr>
	</table>

Verfasst: 20.02.2005 23:41
von Blutgerinsel
Grundlegende Mathematik und die Berrücksichtigung das leere Zellen mit dem HTML Platzhalter (&nbsp;) gefüllt werden sollten........

Macht es erforderlich das die Schleife exakt solange läuft bis auch die letzte Zelle in einer Tabellenreihe bearbeitet wird unabhängig davon ob eine Reihe voll ist oder nicht.....

Dann muss entsprechend der <tr> bzw. </tr> Tag gesetzt werden....

Ungeprüftes Schema was ich mir gerade überlegt habe keine Garantie der Funktionsweise, müsste aber passen.

Code: Alles auswählen

$test=array('test','gdfg','dfgfdgfd','fdgfddfdfg','fdgfdgdffg');
$in_row=3;
$anzahlbilder=count($test);
while ( ($loop=$z*$in_row) < $anzahlbilder)
  $z++;
for ($i=0; $i < $loop; $i++)
  {
    if ($i % $in_row == 0)
      echo "<tr>\n";
    if ( !isset($test[$i]) )
      echo "<td>&nbsp;</td>\n";
    else
      echo "<td>".$test[$i]."</td>\n";
    if ($i % $in_row == $in_row-1)
      echo "</tr>\n";
  }

Verfasst: 21.02.2005 00:22
von shwepsi
naja, hier auch mal ein (schlechtes Skript)
aber mein erstes XDD
so stolz war ich nachher nicht mal über eine komplette HP... naja
ist sogar mit Sortierung der überbleibenden Bilder in eine Symetrische Form, allerdings für eine 3er Reihe

vielleicht kannst du ein oder 2 Ideen aufschnappen

Code: Alles auswählen

function img($pfad,$capt) {
 $x = 1;
 $y = 0;
while ($y == 0)
 {
  $x0 = sprintf ("%02d", $x);
  if (file_exists($pfad . $x0 . ".jpg"))
   { $x++; }
  else { $y++; }
 };

echo "<TABLE>
<CAPTION><B>" . $capt . "<B></CAPTION>
<COLGROUP>
 <COL WIDTH=\"120\">
 <COL WIDTH=\"120\">
 <COL WIDTH=\"120\">
</COLGROUP>
";
$x--;

$zeil = $x / 3;
$spal = $x % 3;
 
for ($zei = 0; $zei <= $zeil - 1; $zei++)
 {
  echo "<TR>";
  for ($z = 1; $z <= 3; $z++) {
   $x0 = ($zei * 3) + $z;
   $x0 = sprintf ("%02d", $x0);
   echo "<TD>
     <A HREF=\"" . $pfad . $x0 . ".jpg\">
     <CENTER><IMG SRC=\"" . $pfad . $x0 . ".jpg\" HEIGHT=\"120\" BORDER=\"0\"></CENTER>
     </A>
   </TD>";
  };
 };

 $x0 = ($zeil * 3);
 switch ($spal) {
  case 1:
   echo "<TR><TD>&nbsp;</TD>
     <TD><A HREF=\"" . $pfad . sprintf ("%02d", $x0) . ".jpg\">
     <CENTER><IMG SRC=\"" . $pfad . sprintf ("%02d", $x0) . ".jpg\" HEIGHT=\"120\" BORDER=\"0\"></CENTER>
     </A></TD>
   <TD>&nbsp;</TD>";
   break;
  case 2:
   echo "<TR><TD><A HREF=\"" . $pfad . sprintf ("%02d", $x0 - 1) . ".jpg\">
     <CENTER><IMG SRC=\"" . $pfad . sprintf ("%02d", $x0 - 1) . ".jpg\" HEIGHT=\"120\" BORDER=\"0\"></CENTER>
     </A></TD>
     <TD>&nbsp;</TD>
   <TD><A HREF=\"" . $pfad . sprintf ("%02d", $x0) . ".jpg\">
     <CENTER><IMG SRC=\"" . $pfad . sprintf ("%02d", $x0) . ".jpg\" HEIGHT=\"120\" BORDER=\"0\"></CENTER>
     </A></TD>";
   break;
  default:
   break;
 };
};