Tabellen ausgabe mit Daten aus MySQL

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Tabellen ausgabe mit Daten aus MySQL

    Hallo,

    Ich bin gerade dabei für mich selber eine kleine Seite zu schreiben.
    Und habe nun gerade eine Total Blockade wie ich meinen Code um schreiben muss das er die Ausgabe so macht wie ich es gerne hätte.

    Die MySQL Tabelle:
    ID | title | showorder | side
    1 | Erste Kategorie | 2 | left
    2 | Zweite Kategorie | 1 | left
    3 | Dritte KAtegorie | 3 | right

    Als ausgabe hätte ich gerne das wie folgt:


    HTML-Code:
    <table width="50%" border="1" align="center">
      <tr>
        <td width="50%">Links:</td>
        <td width="50%">Rechts:</td>
      </tr>
      <tr>
        <td>Zweite Kategorie</td>
        <td>Drite Kategorie</td>
      </tr>
      <tr>
        <td>Erste Kategorie</td>
        <td></td> (Bleibt leer)
      </tr>
    </table>
    Mein bisheriger Code sieht so aus:
    PHP-Code:
    <table width="50%" border="1" align="center">
      <tr>
        <td width="50%">Links:</td>
        <td width="50%">Rechts:</td>
      </tr>

    <?php

        $kat_auswahl 
    "SELECT * FROM site_menuitemgroups";
        
    $kategorien mysql_query($kat_auswahl);
        while(
    $kat=mysql_fetch_object($kategorien))
     {
            echo 
    '<tr>';
            if (
    $kat->side == 'left') {
                echo 
    '<td>'.$kat->showorder.' | ' .$kat->title.'</td>';
            }
            else {
                echo
    ' <td></td>';
            }
            if (
    $kat->side == 'right') {
            echo 
    '<td>'.$kat->showorder.' | ' .$kat->title.'</td>';
            }
            else {
                echo
    ' <td></td>';
            }
        }echo 
    '</tr>';
        
    ?>
    </table>
    Jetzt ist aber auf der Rechten Seite das erste Feld Leer. Mir ist klar das es durch die else Anweisung kommt. Weil ich dort nun mal ein leeres Feld übergebe.

    Ich hab nur gerade Total ne Brett vor dem Kopf wie ich das umschreiben muss das er das gewünschte Ergebnis Liefert.
    Wäre schön wenn sich dem jemand annehmen würde und mir Hilfreiche Tipps oder Code Vorschläge gibt.

    Ich bedanke mich schon mal im vor raus.
    Grüße
    Simme

  • #2
    Du möchtest keine Tabelle, sondern eine formatierte Liste ausgeben. Eine Liste wird in HTML mit <ul>, <ol> oder <dl> eingeleitet.

    Tabellen dienen nur zur Darstellung von tabellarischen Daten. Das da sind keine tabellarischen Daten.

    Du solltest außerdem niemals SELECT * verwenden, sondern immer alle Spalten, die du im Ergebnis erwartest, im SELECT angeben.

    Die mysql_* Funktionen sind veraltet und sollten nicht mehr verwendet werden. Informiere dich über mysqli bzw. PDO.

    Halte das EVA-Prinzip ein. Datenbankabfragen zählen zur Verarbeitung und nicht zur Ausgabe, haben also in der HTML-Ausgabe nichts verloren.

    Kommentar


    • #3
      Zitat von h3ll Beitrag anzeigen
      Du möchtest keine Tabelle, sondern eine formatierte Liste ausgeben. Eine Liste wird in HTML mit <ul>, <ol> oder <dl> eingeleitet.
      Ok so gesehen hast du recht. Wie man Listen in HTML erstellt weiß ich dennoch danke für denn Hinweis.

      Zitat von h3ll Beitrag anzeigen
      Du solltest außerdem niemals SELECT * verwenden, sondern immer alle Spalten, die du im Ergebnis erwartest, im SELECT angeben.
      Hier sage ich auch danke für denn Hinweis. Werde es in Zukunft beherzigen.

      Zitat von h3ll Beitrag anzeigen
      Die mysql_* Funktionen sind veraltet und sollten nicht mehr verwendet werden. Informiere dich über mysqli bzw. PDO.
      Das hatte ich schon in meinen PHP Valitator gelesen, das diese Funktion als Veraltet angesehen wird. Werde das mal im umschreiben in "neue" mysqli

      Danke dennoch für die Hinweise und "Hilfen" und Sorry fürs Späte antworten, war Arbeits Technisch etwas eingespannt.

      Kommentar

      Lädt...
      X