steckl: Array erzeugt keine Spalten - warum?

Beitrag lesen

Hi,

bin grade dabei, mich mit PHP anzufreunden, da ich als alter "HTML'ler" ein Projekt übernommen habe und mich der Aufwand in Bezug auf die täglichen Änderungen zu nerven beginnt.

Kann es sein, dass "alter HTML'ler" etwas übertrieben ist? ;-)

Und das ist der Code:

<?php
$abfrage = "SELECT * FROM tiere WHERE Status NOT LIKE 'Vermittelt' ";
$ergebnis = mysql_query($abfrage) OR die(mysql_error());;

while($row = mysql_fetch_array($ergebnis)) {
echo "<table border = 0 width = 180 colspan = 3>";
  echo "<tr>";
   echo "<td><font size = 1><b>".$row["Name"]." - ".$row["Alter"]." alt </b><br>".$row["Short_text"]."</td>";
  echo "</tr>";
echo "</table>";
  }
?>

Hast du dir mal den Quellcode angeschaut, den du damit erzeugst?
Da sind eine Menge Fehler drin.
Zum Beispiel gehört colspan wenndann in <td> und nicht in <table> und
du solltest statt "border = 0" "border='0'" schreiben und bei den anderen Attributen das gleiche.
Außerdem willst du wohl nur eine Tabelle und nicht eine pro Schleifendurchlauf?
Du darfst auch nur bei jedem dritten Durchlauf ein neues <tr> machen, wenn du drei Datensätze pro Zeile haben willst. Das geht mit modulo.
Die Angaben zur Formatierung (z.B. das <b> oder <font>) solltest du dann noch in CSS auslagern.

mfG,
steckl