SQl-Daten-Ausgabe in mehreren Spalten einer Tabelle

Jetzt habe ich es wie folgt eingebaut:

PHP:
$result = mysql_query("SELECT uid, nickname, style, thumbpic FROM content ORDER BY style, nickname ASC");
while( $data = mysql_fetch_assoc($result) ) 
{ 
echo "<table width=\"80%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">
  <tr> 
    <td width=\"130\" rowspan=\"3\"><div align=\"center\"><a href=\"booking-detail.php?showme=".$data["uid"]."\"><img src=\"../booking/".$data["thumbpic"]."\" hspace=\"10\"></a></div></td>
    <td valign=\"bottom\"><a href=\"booking-detail.php\"><font size=\"-1\" face=\"Geneva, Arial, Helvetica, sans-serif\"><strong>".$data["nickname"]."</strong></font></a></td>
    <td width=\"25\" rowspan=\"3\">&nbsp;</td>
    <td width=\"130\" rowspan=\"3\"><div align=\"center\"><a href=\"booking-detail.php?showme=".$data["uid"]."\"><img src=\"../booking/".$data["thumbpic"]."\" hspace=\"10\"></a></div></td>
    <td valign=\"bottom\"><a href=\"booking-detail.php\"><font size=\"-1\" face=\"Geneva, Arial, Helvetica, sans-serif\"><strong>".$data["nickname"]."</strong></font></a></td>
  </tr>
  <tr> 
    <td valign=\"top\"><font size=\"-1\" face=\"Geneva, Arial, Helvetica, sans-serif\">".$data["style"]."</font></td>
    <td valign=\"top\"><font size=\"-1\" face=\"Geneva, Arial, Helvetica, sans-serif\">".$data["style"]."</font></td>
  </tr>
  <tr> 
    <td align=\"center\" valign=\"top\"><font size=\"-2\" face=\"Geneva, Arial, Helvetica, sans-serif\"><a href=\"booking-detail.php?showme=".$data["uid"]."\">... zu den Details ...</a></font></td>
    <td align=\"center\" valign=\"top\"><font size=\"-2\" face=\"Geneva, Arial, Helvetica, sans-serif\"><a href=\"booking-detail.php?showme=".$data["uid"]."\">... zu den Details ...</a></font></td>
  </tr>
  <tr> 
    <td height=\"5\" colspan=\"5\"><hr width=\"100%\" size=\"1\"></td>
  </tr>
</table>";
};

Nun zeigt er mir aber nicht das an, was ich mir vorgestellt habe. Ich wollte das der Inhalt von Zeile 2 in Zeile eins als zweite Spalte angezeigt wird. Haben wir uns da missverstanden?
 
Probiers mal so: (das Drumherum habsch mir mal gespart)
PHP:
<table border="1">
<?php

$i=0;//Zeilenzähler
$c=2;//Zellen pro Reihe


$result = mysql_query("SELECT uid, nickname, style, thumbpic FROM content ORDER BY style, nickname ASC");
while( $data = mysql_fetch_assoc($result) ) 
{ 
  $i++;
  if($i%$c===1)
    {
      echo "\n<tr>";
    }
  echo "\n".' <td><a href="booking-detail.php?showme='.$data["uid"].'"><img src="../booking/'.$data["thumbpic"].'"></a><br>'.
       'Stil:'.$data["style"].'<br>'.
       '...<a href="booking-detail.php?showme='.$data["uid"].'">Details...</a></td>';

  if($i%$c===0)
    {
      echo "\n</tr>";
    }
}; 

if($i%$c!==0)
  {
     while($i%$c!==0)
      {
        echo "\n <td>leer</td>";
        $i++;
      }
      
    echo "\n</tr>";
  } 
?>

</table>

Übrigens: Warum verwendest du zum Quoten der Strings nicht einfache Anführungszeichen...das erspart dir, alle doppelten Anführungszeichen zu escapen... was eine unnötige Fehlerquelle darstellen kann.
 
Damit das Ganze auch wirklich dynamisch ist, müsste die Bedingung der ersten if-Kontrollstruktur etwa angepasst werden:
PHP:
if( $i % $c === $c-1 ) {
	echo "\n<tr>";
}
 
Dann erläutere mir mal, unter welcher Vorraussetzung if($i%$c===1) nicht dynamisch wäre...mal abgesehen von dem Fall, dass $c 1 ist...wo das ganze Konstrukt überflüssig wäre :confused:

Wenn du deinen Vorschlag probieren würdest, würdest du entdecken, dass gerade er fehlerhaft ist;)
 
Entschuldige, Sven, du hast recht. Dein Vorschlag ist so richtig. Ich weiß gar nicht, wieso ich darauf gekommen bin. Ich hatte wohl zu dem Zeitpunkt etwas anderes im Kopf.
 
Zurück