[PHP] Tabellenproblem: Tabellenkopf nur einmal?!

SHViperia

Member
4 November 2006
12
0
Servus,

ich bins wieder.

Ich mache gerade für einen bekannten eine Website für sein Geschäft.
Dort soll u.a. eine Tabelle erscheinen, wo alle seine Produkte aufgelistet sind.
Er soll diese auch selbst per Formular erweitern können.

Jedoch habe ich ein Problem bei der Anzeige der Tabelle.

siehe Bild:

tab1.jpg


Das sind nun 2 Datenbankeinträge.

Problem ist jetzt, dass der Tabellenkopf zu jeden DB-Eintrag nochmal mit angezeigt wird.

Ich will es aber so:
(Montage)
tab2.jpg


Hier mein Code
PHP:
mysql_connect ("localhost", "root", "") or die ("Keine Verbindung zum Server");
mysql_select_db ("dgs") or die ("Keine Verbindung zur Datenbank");
$result = mysql_query("SELECT * FROM schilder") or die ("Fehler:<br />".mysql_error());

if ($result)
{

while ($row = mysql_fetch_array ($result))

{ 
//Tabellenanfang
echo "<table width=\"50%\" cellpadding=\"4\" cellspacing=\"0\">
 <tr class=\"bla\">
    <td width=\"\" class=\"cat\">Artikel</td>
    <td width=\"\" class=\"cat\">Art-Nr.</td>
    <td width=\"\" class=\"cat\">Beschreibung</td>
    <td width=\"\" class=\"cat\">Beispiel</td>
    <td width=\"\" class=\"catsize\">Größen</td>
    <td width=\"\" class=\"cat\">Farben</td>
	<td width=\"\" class=\"cat\">Preis</td>
  </tr><tr> 
    <td>$row[name]</td>
    <td>$row[artnr]</td>
    <td>$row[description]</td>
    <td>$row[pic]</td>
	<td class=\"size\">$row[size]</td>
    <td class=\"size\">$row[color]</td>
	<td>$row[preis]</td>
 </tr>
</table>";
}
mysql_free_result($result);
}

Danke schonmal für die Hilfe
 
Meine Güte, dann zersplittest du den echo Befehl in drei Teile und packst den ersten ("<table...>") und dritten ("</table>") außerhalb der while Schleife, dann wird nur der zweite (<tr...> bis </tr>) wiederholt.

Und bei dem zweiten Eintrag scheint wohl ein echo Befehl in der Datenbank zu stehen.. ähm naja.. ich sag dazu nix ;)
 
Jo super hat geklappt!
Dank dir vielmals.

(sorry für die dumme Frage, aber ich bin blutiger Anfänger in php) :(
 
Das hat eigentlich mehr mit einem Grundverständnis in HTML zu tun. Wobei mir einfällt, dass ich die Frage nicht ganz korrekt beantwortet habe, den ersten Block (der dann vor die Schleife gehört), sollte auch die Zeile (<tr>..</tr>) mit den Überschriften enthalten, denn sonst wird die ja immer noch wiederholt, auch wenn so schonmal die Spaltenbreiten identisch wären.

Und wenn ich noch was bemerken dürfte.. Bei solchen Konstellationen wie 1. Datenbank mit "root" + "" (Hauptbenutzer ohne Passwort) und 2. "Select *" verwenden ist auch so eine Sache. Zumindestens mit dem ersten (Sicherheits-)Problem sollte keine Seite ins Netz gestellt werden.