zeilenumbruch erzwingen

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Lord_Femto
Mitglied
Beiträge: 701
Registriert: 19.12.2003 15:53
Wohnort: Berlin

zeilenumbruch erzwingen

Beitrag 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>
Gruß Lord_Femto
visit - http://www.pandemicbrew.de
Project X
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag 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";
  }
shwepsi
Mitglied
Beiträge: 1697
Registriert: 02.06.2003 14:37
Wohnort: NRW - immer dem Monitorleuchten folgen...
Kontaktdaten:

Beitrag 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;
 };
};
Die Weisheit verfolgte mich sekundenlang...
Aber sie überholte mich und war fortan nicht mehr gesehen !!!
Antworten

Zurück zu „Coding & Technik“