• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Mysql Daten auslesen und in Tabelle darstellen

lacido

Mitglied
Hallo zusammen,

ich möchte einige Daten auslesen und den Datensatz jeweils getrennt von dem anderen tabellarisch darstellen allerdings möchte ich die Werte in verschiedenen Ebenen/Spalten darstellen.

Das Auslesen der Datensätze Klappt, nur habe ich Probleme mit dem darstellen der Tabelle.

So soo es zb Bsp aussehen:
[TABLE="class: grid, width: 500, align: left"]
[TR]
[TD]Datum[/TD]
[TD]Titel[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]Uhrzeit[/TD]
[TD]Textinhalt[/TD]
[TD][/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD][/TD]
[TD]Eingetragen von[/TD]
[TD] Datum[/TD]
[/TR]
[/TABLE]



[TABLE="width: 500, align: right"]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[/TABLE]






Der Textteil kann sich schon über 5 Zeilen erstrecken.



Code:
                        echo '<table border="1" cellspacing="1" cellpadding="1" align="center" >
                            <thead >
                                <tr>

                                    <th style="width: 200px;">EreignisDatum</th>
                                    <th style="width: 400px;">Ereignis_Titel</th>

                                </tr>
                            </thead>
                        while ($Seiten = mysqli_fetch_assoc($Abfrage)){
                            echo"<tr><td>{$Seiten['Ereignis']}</td><td align=center>{$Seiten['Ereignis_Titel']}</td></tr>";
                            echo"<tr><td>{$Seiten['AnzeigeEnde']}</td><td align=center>{$Seiten['Erst_Name']}</td></tr>";

                            }
                            echo"</tbody></table>" ;

                        }
            }
            else{
                echo 'Verbindungsfehler: ' . mysqli_connect_error($Verbindung);
            }


Wie kann ich nun die Tabellen/Spalten darstellen mit unterschiedlicher Grösse?

Oder würdet ihr das anders lösen?
 
Zuletzt bearbeitet:
Ich verstehe nicht was Du mit

Der Textteil kann sich schon über 5 Zeilen erstrecken.

meinst? Wenn es ein Fließtext ist, dann füge den als eben so einen ein. Er muss dann doch nicht über mehrere Zeilen reichen? Vlt. solltest Du anhand eines Beispiels nochmal genauer erklären was Du eigentlich vor hast?!
 
Hallo,

war wohl etwas doof formuliert. Ich habe es jetzt so gelöst bin mir aber nicht sicher ob es auch einfacher geht.

Screenshot_2.jpg

Code:
    <table align="center" border="1">
        <tr>
            <th rowspan="1" width="100px">23.09.2012</th>
            <th colspan="2" width="500px" align="center">Versammlung des Jahres</th>
        </tr>
        <tr>
            <td rowspan="2" width="100">08:15 UHR</td>
            <td colspan="2" width="500">
<p>dolor sit amet, consectetuer adipiscing elit. Maecenas at leo eget nisl porta viverra. Ut laoreet, dui at tempus vestibulum, eros leo egestas neque, id adipiscing odio eros et lectus. Vivamus pretium lorem sit amet nulla. Praesent nec dolor at augue ultrices blandit. Quisque aliquet ultrices mi. Donec ac nibh. Phasellus sed sem sed mauris mattis laoreet. Ut fermentum augue ac pede. Duis vitae augue sed nulla lacinia tempor. Pellentesque non ante in magna tincidunt malesuada. Nunc eu mi. Nulla adipiscing posuere nunc. Donec congue, sem vitae aliquam sagittis, tellus lectus laoreet libero, in interdum mi dui ut tellus. Nam pulvinar nibh a ante. Maecenas laoreet placerat ante. Vivamus feugiat magna ut leo. Integer sed risus. Quisque porttitor massa a sem. </p></td>
        </tr>
        <tr>
            <td colspan="1" width="400" align="right">Erstellt: 12.03.2012</td>
            <td colspan="1" width="200" align="right">von Rudi Ramschenkel</td>
        </tr>
    </table>


Nun werden die Daten ausgelesen funktioniert alles, allerdings wird alles aneinander gehängt, wie kann ich die einzelnen Datensätze Trennen?

Code:
                if(mysqli_error($Verbindung)){
                     echo 'Fehler: ' . mysqli_error($Verbindung);
                     }
                    else{
                          $Sql= "SELECT DATE_FORMAT(EreignisDatum,'%d.%m.%Y  %H:%i:%s')as Ereignis,
                                            Ereignis_Titel,Erst_Vorname,Erst_Name,
                                            DATE_FORMAT(Anzeige_Ende,'%d.%m.%Y')as AnzeigeEnde
                                            FROM vkalender
                                            ORDER BY Anzeige_Ende ASC LIMIT 0,2";

                        /* Abfragevariable erstellen */
                        $Abfrage = mysqli_query($Verbindung, $Sql);
 */                        /* Tabelle vorbereiten - Überschriften vorgeben */
                        echo '<table border="1" cellspacing="1" cellpadding="1" align="center" >
                            <thead >
                                <tr>

                                    <th style="width: 200px;">EreignisDatum</th>
                                    <th style="width: 400px;">Ereignis_Titel</th>

                                </tr>
                            </thead>
                            <tbody>';
                        /* Die Zählvariable auf 0 setzen*/
                        /* $i = 0; */
                        /* Abfrage in der Datenbank*/
                        while ($Seiten = mysqli_fetch_assoc($Abfrage)){
                            /* Zählervariable $i bei jedem Durchlauf um 1 erhöhen */
                            /* $i++; */
                            /* Abfrageergebnisse Darstellen */
                            echo"<tr><td>{$Seiten['Ereignis']}</td><td align=center>{$Seiten['Ereignis_Titel']}</td></tr>";
                            echo"<tr><td>{$Seiten['AnzeigeEnde']}</td><td align=center>{$Seiten['Erst_Name']}</td></tr>";

                            }
                            echo"</tbody></table>" ;

                        }
            }
            else{
                echo 'Verbindungsfehler: ' . mysqli_connect_error($Verbindung);
            }
 
Du trennst die Datensätze doch bereits dadurch, dass Du jeden Datensatz über mehrere Zeilen (<tr>) ausgeben lässt. Was willst Du noch trennen?
 
Hallo,

danke für Deine Bemühungen, es wra nicht richtig erkennbar da nur 1 Datensatz angezeigt wurde.

Hier wie es dargestellt wird, alles Zuammenhängend.

Screenshot_3.jpg



Code:
            $Verbindung = mysqli_connect($Server, $BenutzerName, $Passwort);

            if ($Verbindung){
                    mysqli_select_db($Verbindung, $Datenbank);

                if(mysqli_error($Verbindung)){
                     echo 'Fehler: ' . mysqli_error($Verbindung);
                     }
                    else{
                          $Sql= "SELECT DATE_FORMAT(EreignisDatum,'%d.%m.%Y')as Ereignis,
                                        DATE_FORMAT(EreignisDatum,'%H:%i')as Uhrzeit,
                                            Ereignis_Titel,Erst_Vorname,Erst_Name,Ereignis_Text,
                                            DATE_FORMAT(Anzeige_Ende,'%d.%m.%Y')as AnzeigeEnde
                                            FROM vkalender
                                            ORDER BY Anzeige_Ende ASC LIMIT 0,3";

                        $Abfrage = mysqli_query($Verbindung, $Sql);


                        echo "<h2 style=color:#f8f8f8;>Die Top " . mysqli_num_rows($Abfrage) . " Seiten</h2><br />";
                        echo "</center>";

                        echo '<table border="1" cellspacing="1" cellpadding="1" align="center" >
                            <tbody>';

                        while ($Seiten = mysqli_fetch_assoc($Abfrage)){


                               echo"<tr><th rowspan=\"1\" width=\"200\">{$Seiten['Ereignis']}</th>
                                <th colspan=\"2\" width=\"400\" align=\"center\">{$Seiten['Ereignis_Titel']}</th></tr>";

                                echo"<tr><th rowspan=\"2\" width=\"200\">{$Seiten['Uhrzeit']} Uhr</th>
                                <td colspan=\"2\" width=\"400\"><p>{$Seiten['Ereignis_Text']}</p></td></tr>";

                                echo"<tr><td colspan=\"1\" width=\"400\" align=\"right\">{$Seiten['AnzeigeEnde']}</td>
                                <td colspan=\"1\" width=\"200\" align=\"right\">{$Seiten['Erst_Name']}</td></tr>";
                            }
                            echo"</tbody></table>" ;

                        }
            }
            else{
                echo 'Verbindungsfehler: ' . mysqli_connect_error($Verbindung);
            }


Wie kann man die Datensätze nun überschaubar getrennt darstellen, z.B. margin 25px ?
 
Ach, ok, verstehe.

Möglichkeit 1:
Baue für jeden Datensatz eine Tabelle auf (also <table> in die while-Schleife integrieren). Diese haben dann jeweils einen Abstand nach unten und so einen Abstand zueinander.

Möglichkeit 2:
Ergänze am Ende der while-Schleife eine weitere leere Zeile mit der Du den Abstand regelst.
 
Hallo Threadi,

vielen Dank für die Hilfe und die Zeit die Du Dir genommen hast, es funktioniert genau so wie gewünscht.

Ich habe zwischendurch nochmal nachgelesen und dachte eher an eine foreach Schleife, weis aber nicht wie man das umsetzen soll in diesem Fall.

Würde es denn mit einer foreach Schleife gehen oder ist es hierbei nicht möglich?
 
Zurück
Oben