Ankündigung

Einklappen
Keine Ankündigung bisher.

Ausgabe der Datenbank in einem Container

Einklappen

Neue Werbung 2019

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

  • Ausgabe der Datenbank in einem Container

    Hallo an alle,

    leider weiß ich absolut nicht wo ich danach hier im Forum suchen soll daher eröffne ich ein neues Thema. Falls das Thema schon da ist tu es mir leid.

    Ich bin gerade dabei eine kleine Website zu programmieren und diese dann Stück für Stück zuerweitern. Ich kann bisher mit Hilfe eines Formulars eine Datenbank befüllen und auch die Daten daraus dann auf der Homepage anzeigen lassen. Jetzt habe ich jedoch ein Problem bei der Ausgabe der Daten. Die Daten werden in einem Container ausgeben. Befinden sich jedoch zwei Reihen in der Tabelle dann werden beide in einem Container ausgeben. (siehe Bild unten) Jedoch will ich, dass die Daten in zwei verschiedenen Container ausgeben werden.

    Hier ist der Code den ich verwende und die css:

    Code:
    <div class="item">
        <?
            include_once 'mysql.php';    
    
            $db_erg = mysqli_query($db_con, "SELECT `Titel`, `Datum`, `Teaser`, `Text`, `Fazit` FROM `eintrag` ORDER BY `ID` DESC");
    
            while(list($Titel, $Datum, $Teaser, $Text, $Fazit) = mysqli_fetch_array($db_erg))
            {
                    echo "<table border='1' width='100%'>";
                    echo "<tr>";
                    echo "<td width='15%'>$Datum</td>";
                    echo "<td align='left'>$Titel</td>";
                    echo "</tr>";
                    echo "</tr>";
                    echo "<td colspan='2'>$Teaser</td>";
                    echo "</tr>";
                    echo "</table>";
                    echo "<br>&nbsp";
            }
        ?>
    </div>
    Code:
    .item
    {
        background-color: pink;
        width: 400px;
        border-radius: 20px;
        padding: 10px;
    }
    Ich würde mich sehr über Hilfe freuen damit ich weiter komme.

    gruß Lu4ap

  • #2
    Bitte halte dich an das EVA-Prinzip (Eingabe Verarbeitung Ausgabe), denn Datenbankoperationen sollten nicht inmitten von HTML Ausgabe vorkommen. Wenn du das berücksichtigst verschwindet auch dein Problem.

    Dann lerne bitte HTML und CSS denn deine Attribute wie align, width und border etc. sind veraltet.
    Du kannst auch deine Seite mal durch den Validator jagen, und dir die Fehler anzeigen lassen.

    Kommentar


    • #3
      Das war jetzt nicht die Antwort die ich mir erhofft hatte. Mein Problem ist ich weiß noch nicht mals wo ich ansetzen muss bezüglich meines Problems...

      Kommentar


      • #4
        Mach mal die Developer-Tools auf Deinem Browser auf (F12 auf Windows). Dort hats einen Tab Inspektor oder Elements, je nach Browser, welchen du verwendest.
        Und dann schau Dir mal den Quellcode an welchen du generierst. Du solltest recht schnell feststellen, was Dein Problem verursacht. Tipp: Du machst für jeden Datensatz eine neue Tabelle, anstelle einer neuen Reihe.

        Ansonsten schliess ich mich protestix an, wenn du Dir schon Mühe gibst und was Neues lernst, nimm auch aktuelle Sachen. align, width und border als Attribute von table und td sind veraltet und im aktuellen HTML5-Standard nicht mehr enthalten.

        Kommentar


        • #5
          Zitat von Lu4ap Beitrag anzeigen
          Das war jetzt nicht die Antwort die ich mir erhofft hatte. Mein Problem ist ich weiß noch nicht mals wo ich ansetzen muss bezüglich meines Problems...
          Nur so als tip ffür die Zukiunft,
          das hat wie du ja auch schreibsrt was mit der ausgabe und nicht mit datenbanken zu tun.
          es lohnt also sicher die generierte ausgabe anzuschauen und fehler zu finden.
          in der wissenssamnmlung git es auch was zu die debuging.

          Kommentar


          • #6
            So richtig erkenne ich auch nicht wo hier das Problem liegen soll.
            Du machst jetzt eine Datenbankabfrage und gibst das Resultat als "Tabelle" aus. Wenn du 2 Tabellen haben möchtest, musst du auch 2 Tabellen erzeugen. Wenn diese Tabellen unterschiedliche Daten enthalten sind dafür in der Regel auch 2 Datenbankabfragen notwendig.

            Kommentar


            • #7
              Ich bin mir diesem Problem komplett bewusst. Für jeden Datensatz in der Datenbank wird eine neue Tabelle erzeugt. Jedoch habe ich absolut keine Ahnung wie die neue Tabelle jeweils in einen neuen Container packen soll. Leider bin ich nicht der Lerntyp der sich sowas aus Literatur erschließen kann ich brauche dafür immer Beispiele...

              Kommentar


              • #8
                Nimm das HTML für den Container mit in die Schleife.

                Code:
                foreach (blabla)
                   <div>
                       <table>
                
                       </table>
                    </div>
                endforeach;
                [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
                [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

                Kommentar


                • #9
                  Aber wie zum Teufel kann ich html mit in eine PHP schleife nehmen? Geht das überhaupt?

                  Kommentar


                  • #10
                    Ja, mit Kontextwechsel. Allerdings fände ich persönlich es schicker, wenn man sich die Elemente in einem Array vorbereitet und die Ausgabe an entsprechender Stelle mit einem implode() erzeugt.
                    Competence-Center -> Enjoy the Informatrix
                    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                    Kommentar


                    • #11
                      Zitat von Lu4ap Beitrag anzeigen
                      Aber wie zum Teufel kann ich html mit in eine PHP schleife nehmen? Geht das überhaupt?
                      Genau das machst Du doch mit den echo's in Deinem ersten Posting..

                      Kommentar

                      Lädt...
                      X