Ankündigung

Einklappen
Keine Ankündigung bisher.

<table> Falsche Reihenfolge in der Ausgabe am Bildschirm

Einklappen

Neue Werbung 2019

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

  • #16
    Zitat von hausl Beitrag anzeigen
    Dein HTML ist nach wie vor nicht valide! -> </table> und </td> fehlt noch.

    Ausserdem sollte ein Funktion dafür da sein wieder verwendet zu werden und nicht wie hier ähnlich doppelt erstellt. Hier ein Beispiel zum Spielen

    [PHP]function buildHTML
    [/code]

    das ist dem Beispiel geschuldet!

    Funktion 1 mach alles Mögliche, dabei entstehen Werte die in einer Tabellenform ausgegebem werden sollen
    Kop1, Kopf2, Kopf3
    Wert1-1, Wert1-2, Wert1-3
    Wert2-1, Wert2-1, Wert2-3

    Funktion 2 mach völlig andere Dinge. Dabei entstehen Werte die ebenfalls in einer Tabellenform ausgegeben werden sollen
    KopA, KopfB
    WertA-1, WertB-1
    WertA-2, WerB-2
    WertA-3, WerB-3

    Wenn ich die Ausgabe mit ECHO .... zusammenbastele, passt die Ausgabe.
    Nur die Formatierung ist wegen unterschiedlicher Spaltenlänge etwas umständlich.

    <table> macht die Formatierung selbst korrekt, nur die Tabelle erscheint an der falschen Stelle.

    Und dann noch der Hinweis das Funktionen nichts ausgeben, sondern nur etwas zurückgeben. Das kannst du auch gleich mit erledigen.
    das werde ich wohl machen müssen .... dann dürfte man ja generell keine "ECHOs" in Funktionen verwenden ... das funktioniert aber trotzdem prima.

    Kommentar


    • #17
      Wie auch immer. Erzeuge valides HTML und dann passt das.

      dann dürfte man ja generell keine "ECHOs" in Funktionen verwenden
      Ja richtig, sollte man grundsätzlich vermeiden.
      The string "()()" is not palindrom but the String "())(" is.

      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #18
        Zitat von chorn Beitrag anzeigen

        nicht OK, es wird gefolgt von Text. Sonst wäre das <td /><td>foobar</td>
        Wenn Du das denkst.... der Validator interpretiert es anders...Müsstest Du Dich mal beschweren, wäre ja fatal, wenn alle Dokumente invalide sind und nur Deine valide....

        Kommentar


        • #19
          Zitat von hausl Beitrag anzeigen
          Wie auch immer. Erzeuge valides HTML und dann passt das.


          Ja richtig, sollte man grundsätzlich vermeiden.

          OK, also Ziel wäre Funktion macht alles in ein array (das ist ja quasi eine Tabellenform) und gibt das an den aufrufenden Programmteil zurück.
          Dort wo die Funktion aufgerufen wird (von der Hauptebene/Hauptprogramm ... wird dann aus dem array eine Tabelle ausgegeben.

          wehe wenn eine eigene Funktion eine eigene Funktion aufruft (die Text ausgeben soll) ... dann müsste man das array ja über zwei "Ebenen" zurückgeben ... da zerbreche ich mir jetzt aber lieber nicht den Kopf ... habe schon genügend mit den banalen Problemen zu kämpfen

          Vielen Dank für die Rückmeldungen ... damit müsste ich das Problem lösen können.

          Kommentar


          • #20
            Im Grunde ja. Eine Funktion hat eine Aufgabe. Du übergibst der Funktion optional etwas, das sie braucht um diese Aufgabe zu erfüllen und dann bekommst du etwas zurück. Beispiel du übergibst ihr ein PHP-Array und sie erzeugt daraus das HTML einer Tabelle und das dir sie dir als HTML-String zurück. Im Grunde kannst du das Verhalten auch bei den PHP internen Funktionen sehen. Das ist im Grunde das selbe.

            The string "()()" is not palindrom but the String "())(" is.

            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
            PHP.de Wissenssammlung | Kein Support per PN

            Kommentar


            • #21
              Zitat von chorn Beitrag anzeigen

              nicht OK, es wird gefolgt von Text. Sonst wäre das <td /><td>foobar</td>
              Falsch interpretiert,
              sofort darauffolgend heisst, wenn nach dem Ende-Tag </td> sofort ein <td> Element folgt dann darf man das </td> weglassen.

              Ursprung
              HTML-Code:
              <td>etwas Fliesstext </td><td>noch mehr Text </td><td>...
              .
              Da das neue Td unmittelbar hinter dem Endtag folgt, darf das Endtag auch entfallen.

              Nicht entfallen darf es hingegen bei folgender Konstellation
              HTML-Code:
              <td>etwas Fliesstext </td><script> //etwas javascript </script><td>noch mehr Text </td><td>...
              Da jetzt nach dem schliessenden TD-tag ein Script-Tag folgt, darf man es nicht weglassen.

              Kommentar


              • #22
                Eine Funktion welche flexibel eine Tabelle erzeugt könnte wie folgt aussehen:
                • Nimmt als Parameter eine Attributliste, Arrays für Titel und Daten sowie optionale Flags entgegen
                • Liefert ein String mit validen HTML als Rückgabe
                • Behandelt den Kontexwechsel nach HTML
                Werden die Spaltenüberschriften als 1.Zeile eines 2.dimensionalen Arrays angeliefert, können mit dieser Zeile
                PHP-Code:
                $title array_shift($data); 
                Spaltenüberschriften und Daten gesplittet werden. Anregungen und Beispiele für die Nutzung einer solchen Funktion können hier betrachtet werden.
                (Die Zeilen mit checkHTML im link dienen der Prüfung des erzeugten HTML und haben nichts mit den Beispielen zu tun)

                Kommentar


                • #23
                  Eine Funktion welche flexibel eine Tabelle erzeugt könnte wie folgt aussehen: ...
                  Danke für die Rückmeldung und den Link mit den gut verständlichen Beispielen!!

                  Kommentar

                  Lädt...
                  X