Tabelle in PHP für MySQL Daten

willytyp

Mitglied
Hallo zusammen,

ich habe eine MySQL-Datenbank mit z.Zt. erst zwei Datensätzen.

Mit dem nachfolgenden Code lese ich die Datei aus und lasse sie anzeigen.

PHP:
<html>
<body>
    <div id="Ausgabe">
<?php
   /* Verbindung aufnehmen */
   $con = mysqli_connect("localhost","root");

   /* Datenbank auswählen */
   mysqli_select_db($con, "gaestebuch");

   /* SQL-Abfrage ausführen */
   $res = mysqli_query($con, "select * from eintrag");

   /* Anzahl Datensätze ermitteln und ausgeben */
   $num = mysqli_num_rows($res);
   echo "$num Datensätze gefunden<br /><br />";

   /* Datensätze aus Ergebnis ermitteln, */
   /* in Array speichern und ausgeben    */
   while ($dsatz = mysqli_fetch_assoc($res))    
   {  
      echo $dsatz["name"] . ", "
          . "<br />"
         . $dsatz["email"] . ", "
         . "<br />"
         . $dsatz["ip"] . ", "
         . "<br />"
          . $dsatz["datum"] . ", "
         . "<br />"
         . $dsatz["kommentar"]
         . "<br />". "<br />";
   }
 
   /* Verbindung schließen */
   mysqli_close($con);
?>
    </div>
</body>
</html>

Das klappt alles wunderbar. Allerdings möchte ich die Daten in einer Tabelle ausgeben
(1 Spalte, 2 Zeilen).
z.B.:
Zelle1: $Name .“ schrieb am „ . $datum(„d.m.y“) . „ um „ . $datum(„H:i:s“)
Zeile2: $kommentar

Nur, weiß ich nicht wie ich in PHP diese Tabelle anlegen kann.
Noch eines: mit der Anweisung <div = id=“Ausgabe“> in HTML will ich später die Ausgabe
in CSS formatieren und positionieren. ist die Anweisung ist dort ok?
Ich hoffe sehr das eine(r) von euch die Lösungen für mich hat.

LG
willytyp
 
Hallo willytyp,

wenn ich Dich richtig verstanden habe, sollte Dir folgendes Beispiel helfen.

PHP:
<table>
    <thead>
    </thead>
    <tbody>
        <?php
        while($dsatz=mysqli_fetch_assoc($res)){
            echo '<tr>';
            echo '<td>'.$dsatz["name"].' schrieb am <span class="date">'.$datum.'</span> um <span class="time">'.$uhrzeit.'</span></td>';
            echo '</tr>';
            echo '<tr>';
            echo '<td>'.$dsatz["kommentar"].'</td>';
            echo '</tr>';
        }
        ?>
    </tbody>
</table>

Noch eines: mit der Anweisung <div = id=“Ausgabe“> in HTML will ich später die Ausgabe
in CSS formatieren und positionieren. ist die Anweisung ist dort ok?
Die aktuelle Position Deines div-Containers ist dort ok.

Liebe Grüße
 
Hallo Splater,
zunächst einmal vielen Dank für deine Hilfe.
Leider hat es nicht geklappt.

Ich sende mal den nach deinen Angaben modifizierten Code:
PHP:
<html>
<table>
    <thead>
    </thead>

    <tbody>
    <div id="Ausgabe">
<?php
   /* Verbindung aufnehmen */
   $con = mysqli_connect("localhost","root");

   /* Datenbank auswählen */
   mysqli_select_db($con, "gaestebuch");

   /* SQL-Abfrage ausführen */
   $res = mysqli_query($con, "select * from eintrag");

   /* Anzahl Datensätze ermitteln und ausgeben */
   $num = mysqli_num_rows($res);
   echo "$num Datensätze gefunden<br /><br />";

   /* Datensätze aus Ergebnis ermitteln, */
   /* in Array speichern und ausgeben    */
   while ($dsatz = mysqli_fetch_assoc($res))    
   {
       echo '<tr>';
    echo '<td>' . $dsatz["name"] . ' schrieb am <span class="date">' . $datum .'</span> um <span class="time">' . $uhrzeit . '</span></td>';
    echo '</tr>';
    echo '<tr>';
    echo '<td>'.$dsatz["kommentar"].'</td>';
    echo '</tr>';
      }
   
   /* Verbindung schließen */
   mysqli_close($con);
?>
    </div>
    </tbody>
    </table>
</html>

Ich hoffe, ich habe die Anweisungen richtig plaziert, denn ich bekomme folgende Fehlermeldung:
Notice: Undefined variable: datum in L:\xampp\htdocs\TAB_TEST\db_anzeigen.php on line 27
Notice: Undefined variable: uhrzeit in L:\xampp\htdocs\TAB_TEST\db_anzeigen.php on line 27

Trotz herum experimentieren habe ich keine Tabelle bekommen.
Allerdings kenne ich die Anweisung
<span class="date"> und <span class="time">
nicht.
Nun ja, ich bin ja noch blutiger Anfänger.
Ich hoffe sehr du kannst mir noch einmal weiterhelfen.

LG
willytyp
 
Hallo willytyp,

dass Du neu im Thema bist, war mir nicht bewusst.

Hier zunächst der funktionierende Code:
PHP:
<html>
<div id="Ausgabe">
<table>
    <thead>
    </thead>
    <tbody>
<?php
   /* Verbindung aufnehmen */
   $con = mysqli_connect("localhost","root");
   /* Datenbank auswählen */
   mysqli_select_db($con, "gaestebuch");
   /* SQL-Abfrage ausführen */
   $res = mysqli_query($con, "select * from eintrag");
   /* Anzahl Datensätze ermitteln und ausgeben */
   $num = mysqli_num_rows($res);
   echo "$num Datensätze gefunden<br /><br />";
   /* Datensätze aus Ergebnis ermitteln, */
   /* in Array speichern und ausgeben    */
   while ($dsatz = mysqli_fetch_assoc($res))   
   {
       echo '<tr>';
    echo '<td>' . $dsatz["name"] . ' schrieb am <span class="date">' . $dsatz["datum"] .'</span> um <span class="time"></span></td>';
    echo '</tr>';
    echo '<tr>';
    echo '<td>'.$dsatz["kommentar"].'</td>';
    echo '</tr>';
      }  
   /* Verbindung schließen */
   mysqli_close($con);
?>
    </tbody>
    </table>
</div>
</html>

Frage 1: In welchem Format liegt das auszugebende Datum ($dsatz["datum"]) vor? Genauer geht es mir hier um die Zeitangabe, welche man aus einem Timestamp extrahieren kann.


Die Fehlermeldung, welche Dir gezeigt wird, bezieht sich auf die nicht vorhandenen Variablen "$datum" und "$uhrzeit". Das Du neu im Thema bist war mir nicht bewusst ;)
Die genutzten Variablen waren nur als Platzhalter gedacht, da Du weiter oben von Datum + Uhrzeit geschrieben hast.

Das von mir verwendete "span"-Element wird zur "Begrenzung von Bereichen" oder auch "Formatierung" im HTML-Bereich genutzt. Im gegensatz zum "DIV"-Element (Block-Element), handelt es sich beim SPAN um ein Inline-Element.

Es ist schon ziemlich spät :) Wenn Du noch Fragen hast, werde ich sie Dir gern beantworten.

LG
 
Zurück