Ankündigung

Einklappen
Keine Ankündigung bisher.

Ausgabe von php-array in exisiterender html-Liste

Einklappen

Neue Werbung 2019

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

  • Ausgabe von php-array in exisiterender html-Liste

    Hallo zusammen,
    ich bin absoluter Frischling was php betrifft. Folgende Problematik stellt sich mir gerade: ich bekomme von meiner html-Seite einen Funktionsaufruf mit einem Parameter (funktioniert). Die Funktion liest aus einer MySQL-DB Daten aus, passend zum Parameter und schiebt sie in ein mehrdimensionales Array (funktioniert). Jetzt der Punkt - diese Daten sollen auf der html-Seite in eine bereits existente Liste eingefügt werden. Das Ausgeben der Daten auf der Seite (am Beginn der Seite) klappt - aber ich bekomme es nicht hin die Daten in der Liste zu platzieren. Nachdem ich mittlerweile mehrere Stunden nach einer möglichen Lösung gesucht habe, aber durch das was ich fand nicht wirklich weiterkam, wende ich mich an euch.
    Wo ist mein Gedankenfehler?

    PHP-Code:
    <?php
    function getRepLoc($c)
    {
    *
    *
    *
    *
        
    $res = array();
        
    $sql 'SELECT wert1, wert2, wert3 FROM meldestellen WHERE  wert4='.$c.';';    
        
    $erg mysql_query($sql,$con);
        while((
    $row mysql_fetch_array($erg)) != false)
        {    
            echo 
    "<script>
                     function e(){
                    $('#Liste').append(\"<li><a href=
    $row[0]>$row[1]</a></li>);}</script> ";}

    ?>
    soweit das php (anstelle der Sternchen stehen die Verbindungsdaten zur DB); der Aufruf der Funktion erfolgt per Klick auf einen Link.
    Da ich etwas ähnliches schonmal in JavaScript realisierte habe kam ich auf den Gedanken das Platzieren der Werte damit zu versuchen - sobald ich in die script-tags in das Echo einbaue schlägt das ganze fehl, lasse ich sie weg erscheint die Ausgabe, aber nicht dort wo sie hinsoll. Würde mich freuen da Hinweise zu bekommen wie ich dieses Problem lösen kann.
    Danke im Voraus,
    Inni


  • #2
    debugging? du hast im JS bei 100 durchläufen dann auch 100 mal die Funktion e.
    Zudem sind die mysql_Funktionen veraltet und sollten nicht mehr benutzt werden. Stichwort mysqli_, PDO
    Current Projects: http://www.welten-buch.de, http://neu.zooadoo.de

    Kommentar


    • #3
      - Das ist doch primär eine JS- und keine PHP-Frage, oder nicht? (Falsches Forum)
      - Kannst du das nicht mit AJAX umsetzen? Wird ja von jQuery unterstützt und ist nicht weiter schwer. Vorteil u. a. wäre, du müsstest nicht das Skrript und die Funktion e() ins DOM injizieren.
      - Wird $c in ein int umgewandelt bevor getRepLoc() aufgerufen wird? Falls nein -> SQL Injection!
      - Die mysql-Extension ist deprecated, nutze besser mysqli/PDO stattdessen
      - Sicher, dass das so richtig ist?
      Code:
      <a href=$row[0]
      Enthält $row[0] den String in Anführungszeichen? Die Syntax ist ja <a href="http://www.google.de/">Google</a>
      - Hier fehlt ein Anführungszeichen am Ende vor der geschlossenen Klammer:
      Code:
      append(\"<li><a href=$row[0]>$row[1]</a></li>)
      Allgemein habe ich den Verdacht dass du grundlegende Probleme mit dem Debugging von JS hast. Dein Browser hat eine Tool-Sammlung, die du mit F12 (Chrome, Firefox, Internet Explorer) / Strg+Umschalt+I (Opera) aktivieren kannst. Sie erlaubt dir den Zugriff aufs DOM (HTML-Elemente), auf Skripte (Setzen von Haltepunkten, Anzeigen von Variablen-Werten), Fehlerausgaben (insb. JS-Fehler) und eine Console mit JS-Support. Damit ist es keine große Sache den von dir geposteten Code zu debuggen.

      Kommentar

      Lädt...
      X