Ankündigung

Einklappen
Keine Ankündigung bisher.

SQL-Daten (Html/Php-codes) mittels PHP Abfragen

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

  • SQL-Daten (Html/Php-codes) mittels PHP Abfragen

    allo liebes Forum,

    ich habe eine MYSQL Datenbank auf einem Webserver und möchte die mittels einem PHP Script auslesen, um sie dann ins Excel via Webabfrage einzufrügen.
    Soweit, sogut! Klappt alles super mit dem u.a. Code, den ich von php-Kurs.com gefunden habe. Die Ergebnisse werden schön in einer Tabelle dargestellt, aber nun wird es etwas schwierig. Ich habe in meiner SQL-Datenbank auch php/Html codes, diese werden aber leider mit dem u.a. Script als Text angezeigt und nicht als Code. Zum Beispiel wird ein Hyperlink nur als Text angezeigt und nicht der Link selber. Wer kann mir helfen?

    ICH DANKE EUCH!

    PHP-Code:
    <?php 
    require_once ('konfiguration.php'); 
    $db_link mysqli_connect (
                         
    MYSQL_HOST
                         
    MYSQL_BENUTZER
                         
    MYSQL_KENNWORT
                         
    MYSQL_DATENBANK
                        
    );

    $sql "SELECT * FROM adressen";

    $db_erg mysqli_query$db_link$sql );
    if ( ! 
    $db_erg )
    {
      die(
    'Ungültige Abfrage: ' mysqli_error());
    }

    echo 
    '<table border="1">';
    while (
    $zeile mysqli_fetch_array$db_ergMYSQL_ASSOC))
    {
      echo 
    "<tr>";
      echo 
    "<td>"$zeile['id'] . "</td>";
      echo 
    "<td>"$zeile['nachname'] . "</td>";
      echo 
    "<td>"$zeile['vorname'] . "</td>";
      echo 
    "<td>"$zeile['akuerzel'] . "</td>";
      echo 
    "<td>"$zeile['strasse'] . "</td>";
      echo 
    "<td>"$zeile['plz'] . "</td>";
      echo 
    "<td>"$zeile['telefon'] . "</td>";
      echo 
    "</tr>";
    }
    echo 
    "</table>";

    mysqli_free_result$db_erg ); 
    ?>


  • #2
    Schau dir genau an (Debugging) wie deine Variablen aus der Datenbank kommen. Vermute dein der Fehler passiert schon beim Einfügen der Werte in die Datenbank. Behandelst du dort den Kontextwechsel zu MySQL richtig?
    Den Kontextwechsel nach HTML beachtest du im obigen Code nicht, sehe dort kein htmlspecialchars. Hier musst du genau überlegen welche Felder HTML enthalten und welche nicht.

    Edit: Eine Tabelle ist keine gute Basis um Daten ins Excel zu übernehmen. Schau dir die Exportformate an, z.B. CSV.
    PHP-Klassen auf github

    Kommentar


    • #3
      Wie sieht zB der Link (das HTML dazu) in der DB genau aus? Du schreibst das Ganze ohne Beachtung von dem Kontextwechsel raus.

      Dh wenn du HTML hast, dann sollte das als HTML auch so vom Browser verarbeitet werden. Ansonsten solltest du bei Ausgabe nach HTML immer htmlspecialschars() nehmen, sonst hast du da unter Umständen eine XSS Lücke, je nachdem wie das HTML in die DB kommt. Wenn da "jeder" HTML eintragen kann das dann geparst wird, kann das ganz blöd ausgehen.
      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


      • #4
        In welcher Spalte soll sich denn der HTML-Code befinden?
        Bis jetzt gibts du ja nur Spalten aus von denen man nciht davon ausgeht das dort was anderes drin steht.

        Allgemeine zu deinem Code:
        Anstatt
        PHP-Code:
        "SELECT * FROM adressen" 
        soltest du besser alle Spalten aufführen, die du ausgeben willst, egal wie lang die Liste wird.
        Verwende bei Mysql immer Backtick um die Tabellen- und Spaltennamen.
        Also mal als Ansatz
        PHP-Code:
        "SELECT `id`, `nachname`, `vorname` FROM `adressen`" 
        Bitte selbst ergänzen.

        Deine echos sind an der Stelle auch nicht angebracht, packe allles in eine Variable und gebe sie hinterher im HTML an entsprechender Stelle aus.
        Beachte zudem den Kontexstwechsel, Text innerhalb von HTML Tags, den du ausgeben willst immer mit htmlspecialchars maskieren.

        PHP-Code:
        echo '<table border="1">'
        Border als Attribut ist veraltet und gehört ins CSS.
        Suche dir besser ein anderes Tutotrial wenn dir das so falsch da vorgemacht wird.

        Kommentar


        • #5
          Hallo Leute,

          danke für die schnellen Antworten. Ich bin leider ein absulter Laie, ausser Copy-Past ist bei mir (noch) nicht drin
          der Code oben stammt von php-Kurs.com.

          Ich habe mir den Webseiten-Script auch gekauft, weil ich von PHP nur sehr begrenzt ahnung habe, und nun versuche ich mit verschiedenen Foren, mir anzupassen
          Ich möchte gern eine Abfrage via PHP von meiner SQL-Datenbank wo genau das drin steht, was halt drin steht ohne das es "umgewandelt" wird.
          Ich habe eine Tabelle wo drin steht:

          PHP-Code:
          <p>Hallo Tina.</p>

          <
          p>Ich k&ouml;nnte Dir folgenden Tanz empfehlen.&nbspEr war schwer zu lernen.</p>

          <
          p>Ich war in der Tanzschule Schröder.&nbsp;</p>


          <
          p>&nbsp;</p>

          <
          p><a href="https://www.ts-schroeder.de">Link zur Tanzschule </a></p>

          <
          p><img alt="Link" src=" https://www.ts-schroeder.de/photo/15517193661550739608.PNG" style="float: left; width: 917px; height: 246px;" /></p>

          <
          p>&nbsp;</p>

          <
          p>&nbsp;</p
          Wenn ich aber nun den PHP Script ausführe und in mein Excel via Webabfrage laden, kommt bei "Link zur Tanzschule" nur "link zur Tanzschule aber nicht der Link. Ich würde gern alle Zeichen angezeigt bekommen, in dem PHP Script.

          Oh Mann, ich hoffe Ihr könnt mir helfen.

          Super lieb

          Sandra

          Kommentar


          • #6
            Excel kann auch direkt auf Datenbanken zugreifen. Warum so ein komischer Umweg? Und warum HTML statt einer ordentlichen API? Du hast dir auch irgendwie die schlechteste und komplizierteste aller Möglichkeiten ausgesucht.

            Kommentar


            • #7
              hellbringer

              Über Excel ist es leider nicht direkt möglich auf eine SQL-Datenbak auf einem Websever bei Strato zuzugereifen, Sodass ich leider diesen Umweg gehen muss. .
              Ich freu mich über eure Hilfe
              Danke

              Kommentar


              • #8
                Zitat von Sandra1991 Beitrag anzeigen
                Über Excel ist es leider nicht direkt möglich auf eine SQL-Datenbak auf einem Websever bei Strato zuzugereifen, Sodass ich leider diesen Umweg gehen muss.
                Müssen tut man gar nix. Man kann den Anbieter auch wechseln, wenn der zu unflexibel ist.

                Auf meine anderen Punkte bist du nicht eingegangen, warum du so einen komischen Lösungsweg gewählt hast. Was würde eigentlich dagegen sprechen mit PHP eine Excel-Datei zu erzeugen, die man dann direkt in Excel öffnen kann?

                Kommentar


                • #9
                  Hallo,

                  danke für deine Hilfe, leider reichen meine Kenntnisse nicht für eine API etc
                  Ich habe gehofft, wenn ich den o.g. Code ein bisschen verändere, dass er mir dann den kompletten Code anzeigt. . .

                  Was mach ich jetzt nur?

                  Kommentar


                  • #10
                    https://github.com/PHPOffice/PhpSpreadsheet ?

                    PhpSpreadsheet is a library written in pure PHP and providing a set of classes that allow you to read from and to write to different spreadsheet file formats, like Excel and LibreOffice Calc.
                    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


                    • #11
                      Zitat von Sandra1991 Beitrag anzeigen
                      danke für deine Hilfe, leider reichen meine Kenntnisse nicht für eine API etc
                      Ich habe gehofft, wenn ich den o.g. Code ein bisschen verändere, dass er mir dann den kompletten Code anzeigt. . .

                      Was mach ich jetzt nur?
                      Weniger hoffen und mehr lernen. Oder es jemand anders machen lassen.

                      Kommentar


                      • #12
                        Zitat von Sandra1991 Beitrag anzeigen
                        danke für die schnellen Antworten. Ich bin leider ein absulter Laie, ausser Copy-Past ist bei mir (noch) nicht drin

                        Ich habe mir den Webseiten-Script auch gekauft, weil ich von PHP nur sehr begrenzt ahnung habe, und nun versuche ich mit verschiedenen Foren, mir anzupassen
                        Zwei Möglichkeiten sehe ich hier:
                        1. du wendest dich mit deinem Problem an den Hersteller des Scripts.
                        2. du bezahlst jemanden dafür dein Problem zu lösen.

                        Mit deinen nicht vorhandenen Kenntnissen kannst du dein Vorhaben jedenfalls nicht lösen, dazu fehlen dir einfach zu viele Grundlagen.

                        Kommentar

                        Lädt...
                        X