2 Datensätze pro Zeile

Citral

Grünschnabel
Hi!

Ich hab ein News-Script (Daten dynamisch aus MySQL-DB), das ich gerne so anlegen möchte, daß pro Zeile zwei Newsbeiträge ausgeworfen werden.

Also z.B.:
<table>
<tr><td>Beitrag 1</td><td>Beitrag 2</td></tr>
<tr><td>Beitrag 3</td><td>Beitrag 4</td></tr>
usw...
</table>

Wie kann ich sowas dynamisch erzeugen?
Bitte um Hilfestellung.
Danke, LG, Citral
 
Da gibt es eine ganz einfache Lösung:

nehmen wir an, Du liest die Daten in einer While-Schleife aus

PHP:
$abfrage=mysql_query("SELECT * FROM news ORDER BY datum DESC");     
     
while($erg = mysql_fetch_array($abfrage)){ 
     echo "<tr><td>$erg('news')</td></tr>";
    }

dann würde dieses pro News eine Zeile erzeugen (soweit isses ja denke ich mal klar).

Nun der Trick: nimm einen Zähler, der automatisch bei jedem Schleifendurchlauf um eins erhöht wird, und gib den Zeilenwechsel nur dann aus, wenn dieser gerade ist:


PHP:
$abfrage=mysql_query("SELECT * FROM news ORDER BY datum DESC");     
echo "<tr>";     
$i=0
while($erg = mysql_fetch_array($abfrage)){ 
     echo "<td>$erg('news')</td>";
     $i++;  // $i um eine erhöhen
     if ($i % 2 ==0) then echo "</tr><tr>"; // wenn $i gerade, dann den Zeilenwechsel
    }
echo "</tr>";

Prinzip verstanden?


Dunsti
 
Ich habe hier nochmal eine etwas kompaktere Methode:

PHP:
$abfrage=mysql_query("SELECT * FROM news ORDER BY datum DESC");     
echo "<tr>";     
for($i=0;$erg = mysql_fetch_array($abfrage);$i++)
{
    echo "<td>".$erg['news']."</td>";
    if ($i % 2 ==0)
    { 
         echo "</tr><tr>"; // wenn $i gerade, dann den Zeilenwechsel
    } 
}
echo "</tr>";
 
Hey, das ging ja flott...

yep - Prinzip verstanden - klingt einleuchtend. Werd das mal auf meine Gegebenheiten anpassen - ich denke aber das war der richtige Hint.

Vielen Dank!

LG, Citral
 
Zurück