Zum Inhalt springen

php - Tabelle: Spaltenumbruch nach drei Einträgen


Empfohlene Beiträge

Geschrieben

Hallo,

vielleicht kann mir jemand weiterhelfen.

Ich stehe vor folgendem Problem:

Ich habe eine Tabelle, die 5 Spalten beinhaltet.

In der 1., 3. und 5. Spalte sind jeweils Grafiken, die aus der Datenbank ausgelesen werden sollen. Die Spalten 2 und 4 sind jeweils für den Abstand.

Nach Ausgabe der ersten Reihe, soll eine Reihe als Abstand zur vorherigen Reihe erfolgen.

Ziel dieses Ganzen ist es, alle Bilder, die in der Datenbank gespeichert sind, nach einander auszugeben, allerdings soll nach Ausgabe des dritten Bildes ein Zeilenumbrucherfolgen, der wiederum einen Abstand zur vorherigen Zeile hat. Die weitere Zeile soll dann die nächsten drei Bilder anzeigen und so weiter.

Wie das Ganze aussehen soll, ist auf dem Screenshot zu sehen.

Für Lösungsansätze wäre ich sehr dankbar.

screens.png

<table cellpadding="0" cellspacing="0" border="0" width="650" class="fliesstext">

    <tr>

    	<td colspan="5" height="10"></td></tr>

    <tr>

    	<td width="210" height="90" bgcolor="#EEEEEE"><a href="<? echo $_SERVER['PHP_SELF']."?hn=$hn&sn=$sn&order=1" ?>"><img src="/page/page2/fotografie/img_sm/1.jpg" border="0"></a></td><td width=10></td><td width=210 height=90 bgcolor="#EEEEEE"><img src="/page/page2/fotografie/img_sm/2.jpg" border="0"></td><td width=10></td><td width=210 height=90 bgcolor="#EEEEEE"><img src="/page/page2/fotografie/img_sm/3.jpg" border="0"></td></tr>

    <tr>

    	<td width="210" height="10"></td><td width=10></td><td width=210 height=10></td><td width=10></td><td width=210 height=10></td></tr>

</table>

Geschrieben

Hallo, Jaraz!

Danke für Deine Antwort, aber ich verstehe sie bzw. das Konstrukt nicht ganz.

Kannst du mir das bitte genauer erklären?

Vielen Dank

Geschrieben

Lass doch einfach die Abstand-Spalten weg und setz in den <table> noch cellspacing="10" ein.... das sollte dein Problem lösen ;)

und wegen der Schleife die müsste dann so ausehen


echo '<table cellspacing="20">';
echo '<tr>';
$i = 1;
//Datenbankabfrage
while(//Datenbankergebniss) {
if($i==3) {
$i=1;
echo '</tr><tr>';
}
echo '<td>Bild</td>';
$i++;
}
echo '</tr>';
echo '</table>';
[/PHP]

Ist halt mit Zähler. Bei jedem dritten durchgang endet er die Zeile und startet eine neue.

Geschrieben

Hatte das gleiche Problem. Lösung (vereinfacht):

<?php
$picsperrow = 3; // Anzahl Bilder pro Tabellenzeile
$THUMBARRAY = //...ein Array mit den Namen der Bilder...
$thumbs = "<table><tr>";
for ($i=0; $i<count($THUMBARRAY); $i++) {
// Neue Tabellenzeile aller $picsperrow Bilder
if (($i > 0) && ($i % $picsperrow == 0))
$thumbs .= "</tr><tr>";
$thumbs .= "<td>"
."<img src=\"".$THUMBARRAY[$i]."\" alt=\"".$THUMBARRAY[$i]."\" />"
."</td>";
}
// Tabelle vervollständigen
while ($i % $picsperrow > 0) {
$thumbs .= "<td> </td>";
$i++;
}
$thumbs .= "</tr></table>";
// Ausgabe
echo $thumbs;
?>[/PHP]

Die Schleife [i]while ($i % $picsperrow > 0)[/i] sorgt dafür, daß die letzte Tabellenzeile mit leeren Feldern aufgefüllt wird, wenn sie nicht schon $picsperrow Felder hat.

Den Abstand zwischen den einzelnen Tabellenfeldern kannst du auf verschiedene Arten herstellen, ich empfehle CSS. Entweder gibst du den Bildern Außen-, oder aber den Tabellenfeldern Innenabstand.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...