PHP Skript, das eine Tabelle aus der DB ausgibt

Eiggen

Grünschnabel
Hallo liebe User und wieder wende ich mich an Euch weil ich das irgendwie nicht hinbekomme.
Ich soll aus einer SQL Datenbank die Tabelle „Artikel“ auslesen und in einem PHP Script wiedergeben.
Der Aufbau soll so aussehen
Code:
Artikelnummer  Artikelgruppe     Artikelbezeichnung    Preis (alles Überschriften)
1                       2                         abc                            1,00
2                       2                         Bad                            2,00
3                       2                         Code                           3,00
4                       2                         der

Die Überschriften heißen in der Datenbank Artikelnummer = anr , Artikelgruppe = gnr, Artikelbezeichnung = Bezeichnung, Preis = Preis.
Laut Heft soll der Aufbau in etwa so aussehen:
Irgendwas funktioniert aber nicht. Ich versteh es einfach nicht und komme nicht weiter.
Könntet Ihr mir bitte weiterhelfen?
Vielen Dank.

PHP:
<!DOCTYPE HTML>
<html lang="de">
<head>
    <meta charset"utf-8" />
    <title>Einsendeaufgabe1</title>
</head>
<body>
    <?php
try {
$pdo = new PDO('mysql:dbname=bestelldatenbank;host=localhost;charset=utf8',
'root', '');
} catch ( PDOException $e ) {
    die ( $e->getMessage () );
}
class artikel {
    private $tabelle = "artikel";
    public function lesenAlleDaten() {
        $sql "SELECT anr, gnr, bezeichnung, preis
        FROM " .$this->tabelle ."
        ORDER BY anr";
    $this->baueArtikelTabelle ($sql);
    }
private function baueArtikelTabelle($sql) {
    if ($stmt = $pdo ->prepare($sql)) {
        $stmt -> execute ();
        echo "<table>\n\t";
        echo "<thead>
    <tr>
    <th>Artikelnummer</th><th>Artikelgruppe</th><th>Artikelbezeichnung</th><th>Preis</th>
    </tr>
    </thead>";
        echo "tbody>\n\t";
        echo "<td>($z ['anr'])</td>\n\t";
        echo "<td>($z ['gnr'])</td>\n\t";
        echo "<td>($z ['bezeichnung'])</td>\n\t";
        echo "<td>($z ['preis'])</td>\n\t";
    }
    echo "</table";
}
}
?>
</body>
</html>
 
Zuletzt bearbeitet von einem Moderator:
Hi,

was funktioniert denn nicht?
Was passiert und was sollte passieren?

Bitte deinen Code in entsprechende Codeblöcke setzen, dann ist das einfacher zu lesen:
[php]<?php ... ?>[/php] wird zu:
PHP:
<?php ... ?>

// Edit:
Die Fehlt nach dem execute() noch das abholen und iterieren über die Ergebnis-Datensätze:
PHP:
$result = $stmt->fetchAll();
foreach($result as $row) {
  // $row = deine zeile, hier als ausgeben
}

Grüsse,
BK
 
Passieren sollte dass es so ausgegeben wird wie oben dargestellt. Angezeigt wird mir gar nix. Und wenn dann bekomm ich diverse Fehlermeldungen.
 
Dann geb uns doch mal mehr Informationen...

Wie genau sollte Sie aufgebaut sein?
Welche Fehlermeldungen erhälst du... etc...

Und bitte wandle deinen Beitrag oben entsprechend so ab, dass man ihn auch lesen kann.
So wie es @Bratkartoffel bereits erwähnt hat.

Wichtig noch zu wissen: Debuggen!
Beispiel:
PHP:
<?php
printf('<pre>%s</pre>', print_r("DEINEVARIABLE", true));
?>

So arbeite Ich grundsätzlich :)
 
Zurück