Problem beim Datenbank auslesen

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem beim Datenbank auslesen

    Hallo,

    erstmals ein "Hallo" von mir, da ich neu im Forum bin.
    Ebenso neu bin ich in der PHP Programmierung, somit kommt auch gleich eine "Anfängerfrage".

    Ich arbeite gerade an einem Übungsprojekt, einer Website über die man online Pizza bestellen kann

    Gerade stehe ich vor folgendem Problem: Ich möchte eine Datenbank auslesen und den Inhalt auf der Website anzeigen. Ich habe das Ganze schon problemlos ganz normal über PHP gemacht (also DB funktioniert), doch würde es gerne mit Ajax/JSON machen.
    Obwohl ich mich an eine Anleitung im Internet gehalten habe, funktioniert es bei mir leider nicht (bekomme keinen Output).
    Vllt. könnt ihr mal über meinen Source Code schauen und mir sagen wo der Fehler liegt

    listPizza.php
    (Server)
    PHP-Code:
    <?php 
    // DB connection
    $db mysqli_connect("localhost","root","","pizza");

    // Check connection
    if (mysqli_connect_errno()){  echo "Failed to connect to MySQL: " mysqli_connect_error();}

    $result $db->query("SELECT * FROM pizza"); 

    $data = array(); 
    while (
    $row $result->fetch_row()) {
        
    $data[] = $row;      
    }

    echo 
    json_encode($data);
    orderForm.php (Client) (nur relevanter Auschnitt)
    PHP-Code:
    <div id="output"> </div>

    <
    script language="javascript" type="text/javascript">

        $(
    document).ready(function (){
            $.
    ajax({                                      
                
    url'listPizza.php',                     
                
    data"",                       
                
    dataType'json',                

                
    success: function(rows){
                    for (var 
    i in rows){
                        var 
    row rows[i];

                        var 
    name row[0];
                        var 
    zutaten row[1];
                        var 
    preis row[2];


                        $(
    '#output').append(name+" "+zutaten+" "preis);                  
                    } 
                } 


            });



        }); 

    </
    script
    Wieso funktioniert das nicht?
    Wo hab ich meinem "Anfängerfehler" gemacht?

    Vielen Dank für eure Hilfe!

    LG Felix

  • #2
    Lass dir als allererstes in deinem success-Callback mal mit console.log ausgeben, was rows wirklich enthält. (Und dann schau in der Browser-Konsole nach.)
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      /edit: Lösung (tw.) gefunden! Das Problem lag daran, dass ein Datensatz in der DB einen Umlaut enthalten hat. Nachdem der "Käse" in "Mozarella" (schmeckt eh besser ) geändert wurde, funktioniert es nun so wie es soll!
      Daraus ergibt sich jetzt gleich meine neue Frage: Kann JSON nicht mit Umlauten umgehen? Bzw. wie kann man erreichen, dass es doch klappt?
      (DB ist utf_general_ci kodiert)

      Bitte Thread td. noch offen lassen, da das ganze noch etwas komplexer werden soll und sich vmtl. noch Fragen meinerseits ergeben werden.


      ---

      Zitat von wahsaga Beitrag anzeigen
      Lass dir als allererstes in deinem success-Callback mal mit console.log ausgeben, was rows wirklich enthält. (Und dann schau in der Browser-Konsole nach.)
      Done. Doch leider bleibt die Browser-Console leer.
      Also entweder beinhaltet rows keine Daten oder es kommt nicht zum Sucess

      Jetzt stellt sich mir die Frage: WARUM?
      Denn wenn ich mir das Array $data via var_dump ausgeben lasse, enthält es genau die gewünschten Daten...

      Wo in meinem Code liegt der Fehler?

      Bitte um Hilfe
      Vielen Dank!
      Zuletzt geändert von fedulix; 07.10.2015, 14:44. Grund: Lösung (tw.) gefunden!

      Kommentar


      • #4
        Siehe hier:

        Problem beim Datenbank auslesen - PHP Forum: phpforum.de

        Bitte nicht in allen Foren, die du findest, gleichzeitig die gleiche Frage posten.

        Kommentar


        • #5
          Crossposting ist unerwünscht

          *close*
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar

          Lädt...
          X