spalten umbruch

egreis

Mitglied
hallo, versuche gerade eine datenbank mit php und ner while schleife auslesen zu lassen. das klappt auch prima.

jedoch möchte ich die werte in drei spalten darstellen auf einer html seite. wenn ich eine dreispaltige tabelle baue, liest er aber nur in die erste spalte alle werte oder wenn ich die schleife etwas ändere in jede zeile dreimal die gleichen werte.

wie kann ich in der while schleife nun bestimmen, dass er die daten von links nach rechts in die zeile einträgt und dann nach der dritten spalte wieder in die erste eine zeile weiter hüpft. andersrum wäre es auch möglich, dass ich vorgebe, wieviel einträge pro spalte sein dürfen, bevor er dann in die nächste spalte umspringt.

hat da jemand ne ahnung?

vielen dank schon mal für eure hilfe...

evert.
 
Also das wäre mal meine erste Idee so aussm Kopf, da ich momentan kein PHP zur Verfügung habe. Werde es aber nochmal bei nächster Gelegenheit ausprobieren, ob es überhaupt funktioniert. Bin mir nicht ganz sicher, ob die Sachen mit $end und $result so klappt.

PHP:
$max_cols = 3;
$end = False;

$sql_stmnt = "SELECT Feld FROM Tabelle";
$sql_query = mysql_query($sql_stmnt);

echo ("<table>");

while (!$end):

  echo ("<tr>");

  for ($col=1;$col<=$max_cols;$col++):

    if ($result = mysql_fetch_array($sql_query)): 
      echo ("<td>".$result["Feld"]."</td>");
    else:
      echo ("<td>$nbsp;</td>");
      $end = True;				
    endif;

  endfor;

  echo ("</tr>");

endwhile;

echo ("</table>");

Ansonsten, an alle die was zu verbessern haben - ran an den Speck :)

Bin mal gespannt, ob ich mit meinem Code absolut daneben liege!

Gruß
 
Also ganz grob würde das so aussehen, wenn ich dich richtig verstanden hab:
PHP:
<?
  $spalten = 3;
  $spalte = 0;

  echo "<table><tr>";
  while ($line = mysql_fetch_array($result))
  {
    echo "<td>$line[feldname]</td>";
    $spalte++;
    if (($spalte%$spalten)==0) echo "</tr><tr>";
  }
  echo "</tr></table>"
?>
 
Also, habe doch wieder Zugriff auf meinen Webserver. Habe beide Versionen ausprobiert. Ergebnis : beide funktionierten auf Anhieb. Deshalb vergiß meinen :) Roman :) und nimm den Code von reima, der ist schon kurz und gefällt mir auch ganz gut.

Gruß
 

Neue Beiträge

Zurück