Inhalte mittels function machTabelle anzeigen lassen

Silvestergirly

Grünschnabel
Hallo, da bin ich schon wieder,

Das funktioniert leider nicht, und ich habe keine Ahnung woran das liegt.
Hat da vllt einer eine Ahnung?

LG
PHP:
<?php
            $sql = "SELECT buch.Titel, buch.Untertitel, buch.Reihename, buch.Cover, buch.Beschreibung FROM buch WHERE Titel = 'Harry Potter'";        
            $result=$tools->holeDaten($sql);
            /*while($datensatz = $result->fetch_array())*/
            while($datensatz = $result->machTabelle())
{
            //print_r($datensatz);
            echo "<td>".$datensatz['Titel']."</td>"
            echo "<td>".$datensatz['Untertitel']."</td>";
            echo "<td>".$datensatz['Reihename']."</td>";
            echo "<td>".$datensatz['Cover']."</td>";
            echo "<td>".$datensatz['Untertitel']."</td>";
            /* echo "<h1>".$datensatz['Titel']."</h2>";
             echo "<p>".$datensatz['Untertitel']."</p>";
             echo "<p>".$datensatz['Reihename']."</p>";
             echo "<p>".$datensatz['Cover']."</p>";
             echo "<p>".$datensatz['Beschreibung']."</p>";*/
}
        ?>
 
Zeig mir die Funktion machTabelle() einmal...
und was ist $tools bzw. wie wird es erstellt?
 
Zuletzt bearbeitet:
Hallo,
danke für die schnelle Antwort und das du dich meiner Probleme anmächtigst.

DBTools ist eine Klasse in der alle möglichen Funktionen definiert sind:
PHP:
class DBTools
{
    private $db_conn;

    public function __construct($dbVerbindung)
    {
        $this->db_conn=$dbVerbindung;
    }
$Tools wird in der Index definiert:
PHP:
$tools = new DBTools($dbm);

machTabelle ist in einer DBTools.php definiert, der wie folgt aussieht:

PHP:
public function machTabelle($sql)
    {
        $result = $this->db_conn->query($sql);
        if ($this->db_conn->errno != 0)
        {
            die('Fehler bei Datenbankabfrage: '.$this->db_conn->error);
        }
        $finfo = mysqli_fetch_fields($result);
        $max=count($finfo);
        echo "<table>";
        echo "<tr>";
        for($i=0;$i<$max;$i++)
        {
            echo "<th>".$finfo[$i]->name."</th>";
        }
        echo "</tr>";
        while($row = $result->fetch_array())
        {
        $max=count($row)/2;
            echo "<tr>";
            for($i=0;$i<$max;$i++)
            {
               echo "<td>".$row[$i]."</td>";
            }
            echo "</tr>";
        }
        echo "</table>";      
    }
 
In deinem Code willst du das, was machTabelle zurückgibt, ausgeben.
machTabelle gibt aber nichts zurück :rolleyes:
...sondern gibt gleich selber eine "Tabelle" aus, mit echo, in sich drin.

Besser die Abfrage ohne machTabelle, wie früher beim anderen Thread, machen.
 

Neue Beiträge

Zurück