Tabelle formatierte ausgabe nebeneinander

Zero2000

Erfahrenes Mitglied
Hallo

Eine bessere Überschrift ist mir im Moment nicht eingefallen sorry.
Mein Problem ist, dass ich mir aus einer MySQL-DBDatensätze auslesen lasse und
diese dann anzeige. Bisher habe ich immer alle Datensätze untereinander angezeigt, aber
bei diesen ist das anderst, da sie "schmal" sind und ich eine ewig lange Scrollliste hätte.

Ich würde aber gern den Platz der rechts daneben noch frei ist mit nutzen.
Bedeutet: ich würde gern 4 Datensätze nebeneinander anzeigen und die nächsten 4 darunter und immer so weiter.

Ich habe keinen Plan wie ich das bewerkstellige. Vielleicht habt Ihr da für mich einen Lösungsansatz.

Nur eine bestimmte Anzahl von Datensätzen anzeigen und dann auf z.B. "weiter..." klicken möchte ich nicht. Einfach deswegen, weil die Seite dann trotzdem sch*** aussieht.

Danke und mit besten Grüßen
Maik
 
Hi,
willst du das in eine Tabelle machen, oder einfach nur so?
Ich nehme mal an, dass du die ausgabe mit eine while(); schleife machst?
Dann könntest du ja z.B. sowas hier machen:
PHP:
<?php
//...
$i==1;
while(...)
{
    if($i%4==1) { echo "<br>"; }
$i++;
}
//...
?>
Gruß,
Snowowl
 
Als Erweiterung zu Snowowl's Lösung:

Kein <br> sondern am Anfang ne Table aufmachen und ein <tr>
Jeden Datensatz in ein <td></td> setzen,
anstatt des <br> ein </tr><tr>
und nach der Ausgabe noch ein </tr></table> und schon ist das alles ordentlich in einer 4-spaltigen Table...

Du solltest jedoch noch pseudo <td>'s machen damit auch in der letzten Zeile alle 4 Felder vorhanden sind.
 
Ich lasse mir das ganze in einer for-Schleife anzeigen und ja das ganze ist in einer Tabelle.
PHP:
for ($i=0; $i<$num; $i++)
{
$ident=mysql_result($abfrage, $i, "Ident");
.
.
.
 
Jedem so wie es ihm beliebt.

Ist halt Geschmackssache, ob man lieber eine kopfgesteuerte oder fußgsteuerte Schleifen machen will.

(Fußgesteuert ist besser, aber egal)
 
Ok. Ich steige jetzt im Moment nicht so ganz durch.
Ich poste mal zum besseren Verständniss meine Datei, die ist ja nicht so groß.
PHP:
<?php
include ("db.inc.php");
$abfrage = mysql_query("SELECT * FROM tabelle");
echo mysql_error();
$num = mysql_num_rows($abfrage);
for ($i=0; $i<$num; $i++)
{
$ident=mysql_result($abfrage, $i, "Ident");
$hgb=mysql_result($abfrage, $i, "hgb");
$Bild=mysql_result($abfrage, $i, "Bild");
$re=mysql_result($abfrage, $i, "re");
$ls=mysql_result($abfrage, $i, "ls");
echo "<table border='0' cellspacing='1' cellpadding='3' bgcolor='#000000' width=200>";
echo "<tr bgcolor='#9999ff' align='center'><td><b>$hgb</b></td></tr>";
echo "<tr bgcolor='#9999ff' align='center'><td><b><a href='admin/files/$Bild' target=_blank><img src=admin/files/$Bild width=100 border=1></a></b></td></tr>";
echo "<tr bgcolor='#9999ff' align='center'><td><b>RE: <a href='admin/files/$re' target=_blank>$re</a></b></td></tr>";
echo "<tr bgcolor='#9999ff' align='center'><td><b>LS: <a href='admin/files/$ls' target=_blank>$ls</a></b></td></tr>";
echo "</table><br>";
}
?>
Kann ich diesen Teil: for ($i=0; $i<$num; $i++) für meine Zwecke
missbrauchen oder soll ich die for schleife in eine while schleife packen?

Mfd MAik
 
HI,
du kannst die for schleife lassen! ^^
Versuch es mal so: ;)
PHP:
<?php
include ("db.inc.php");
$abfrage = mysql_query("SELECT * FROM tabelle");
echo mysql_error();
$num = mysql_num_rows($abfrage);
echo "<table border='0' cellspacing='1' cellpadding='3' bgcolor='#000000' width=200>";
echo "<tr bgcolor='#9999ff' align='center'>";
for ($i=0; $i<$num; $i++)
{
$ident=mysql_result($abfrage, $i, "Ident");
$hgb=mysql_result($abfrage, $i, "hgb");
$Bild=mysql_result($abfrage, $i, "Bild");
$re=mysql_result($abfrage, $i, "re");
$ls=mysql_result($abfrage, $i, "ls");
if($i%4==0) { echo "</tr><tr bgcolor='#9999ff' align='center'>"; }
echo "<td><b>$hgb</b></td>";
echo "<td><b><a href='admin/files/$Bild' target=_blank><img src=admin/files/$Bild width=100 border=1></a></b></td>";
echo "<td><b>RE: <a href='admin/files/$re' target=_blank>$re</a></b></td>";
echo "<td><b>LS: <a href='admin/files/$ls' target=_blank>$ls</a></b></td>";
}
echo "</tr>";
echo "</table>";
?>
Gruß,
Snowowl
 
Hallo

Dankeschön... ist mit Sicherheit ein guter Ansatz.
Ich werde noch ein wenig Arbeit reinstecken müssen aber ich will es ja auch so. :rolleyes:
Ein Datensatz behinhaltet bei mir 4 Einträge, also muß ich praktisch für jedes nebeneinander eine Tabelle anlegen.

Das schaffe ich dann aber allein denke ich mal.
Für alle die mir bis hierher geholfen haben ein großes Dankeschön und ein schönes WE.

MfG Maik
 
Zurück