Freddy: Tabellen in PHP

Hallo!

Ich bräuchte mal bitte etwas Hilfe bei der Erstellung einer Tabelle in PHP.

Ich habe schon einmal versucht, damit klar zu kommen, bin aber an diesem Script gescheitert:

<?php

$data = array(
 '0' => array('Bakken', 'Stig', '', 'stig@example.com'),
 '1' => array('Merz', 'Alexander', 'alex.example.com', 'alex@example.com'),
 '2' => array('Daniel', "Adam", '', '')
);

$table = array('width' => '600');
$table -> setAutoGrow(true);
$table -> setAutoFill('n/a');

for($nr = 0; $nr < count($data); $nr++) {
 $table -> setHeaderContents( $nr+1, 0, (string)$nr);
 for($i = 0; $i < 4; $i++) {
  if('' != $data[$nr][$i])
   $table -> setCellContents( $nr+1, $i+1, $data[$nr][$i]);
 }
}
$altRow = array("bgcolor"=>"red");
$table -> altRowAttributes(1, null, $altRow);

$table -> setHeaderContents(0, 1, 'Surname');
$table -> setHeaderContents(0, 2, 'Name');
$table -> setHeaderContents(0, 3, 'Website');
$table -> setHeaderContents(0, 4, 'EMail');
$hrAttrs = array("bgcolor" => 'silver');
$table -> setRowAttributes(0, $hrAttrs, true);
$table -> setColAttributes(0, $hrAttrs);

echo $table->toHTML();

?>

Dieses Beispiel stellt eigentl. eine ganz einfache Tabelle dar, jedoch ist da irgendwo ein kleiner Fehler drin - ich komme leider hier nicht weiter.

Kann mir jemand helfen?

Vielen Dank schon mal, Freddy...

  1. Moin!

    Ich habe schon einmal versucht, damit klar zu kommen, bin aber an diesem Script gescheitert:

    Wo ist der Code, der die Klassendefinition für das Objekt enthält, dass du in $table benutzt?

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
    1. Moin!

      Wo ist der Code, der die Klassendefinition für das Objekt enthält, dass du in $table benutzt?

      Korrektur: "versuchst zu benutzen". Denn gleich zu Beginn zerstörst du die Klasseninstanz und ersetzt sie durch ein Array.

      - Sven Rautenberg

      --
      "Love your nation - respect the others."
  2. Hi,

    Wie Sven schon sagt, kann Dir keiner helfen wenn niemand weiss, was deine lustigen Befehle bewirken sollen. Du benutzt ja scheinbar irgendein Framework oder selbstgebaute Klassen.

    1. Ja, das weiß ich ehrlich gesagt auch nicht. Die Tabelle habe ich woanders her - da ich mich jetzt langsam in PHP einlernen will, dachte ich, ich kann mit dem Script etwas lernen. Eine externe Datei oder Klasse habe ich gar nicht, daher hat das auch nicht funktioniert.

      Eigentlich wollte ich nur eine ganz normale Tabelle mit PHP schreiben, damit ich erst mal rauskriege, wie das denn überhaupt funktioniert. Zum Beispiel so:

      ----------------------------------
      | a-data-1 | a-data-2 | a-data-3 |
      -----------+----------+-----------
      | b-data-1 | b-data-2 | b-data-3 |
      ----------------------------------

      Jetzt mal ganz ohne Header und Foot, nur zwei Zeilen, drei Spalten, Rahmen um jede Spalte, Spalten 150 px breit und der Inhalt in den Zellen.

      Wenn es Euch wirklich nicht zu viel ist, könnte mir jemand das Script dazu geben, damit ich daran die Entwicklung einer Tabelle erlernen kann. Ich habe im Netz leider nicht wirklich hilfreiches dazu gefunden und hoffe auf Eure Hilfe dabei.

      Danke schon mal, Freddy

      1. Moin!

        Eigentlich wollte ich nur eine ganz normale Tabelle mit PHP schreiben, damit ich erst mal rauskriege, wie das denn überhaupt funktioniert. Zum Beispiel so:


        | a-data-1 | a-data-2 | a-data-3 |
        -----------+----------+-----------
        | b-data-1 | b-data-2 | b-data-3 |

        Tabellen haben mit PHP nur am Rande zu tun. Denn sie bestehen zu 100% aus HTML.

        Wenn du also wissen willst, wie du mit PHP eine Tabelle herstellst, mußt du zuerst wissen, wie du mit HTML eine Tabelle herstellst.

        Hast du da schon Kenntnisse? Wenn ja, welche? Das Kapitel in SELFHTML zum Thema Tabellen ist dir bekannt?

        http://de.selfhtml.org/html/tabellen/

        Die Aufgabe in PHP ist es dann, nachdem der HTML-seitige Tabellenaufbau vom Schema her geklärt ist, einfach nur noch Zeilen und Zellen der Tabelle auszugeben - abhängig davon, was denn überhaupt an Daten auszugeben ist. Das ist eigentlich die einfachere Aufgabe, sofern du die statische HTML-Vorlage, die du dir erstellt hast, einfach nur in passende Stückchen zerlegst und mittels Schleifen, echo() und den passenden Variablen ausgibst.

        - Sven Rautenberg

        --
        "Love your nation - respect the others."