tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
346
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    maxxe maxxe ist offline Mitglied
    Registriert seit
    Dec 2007
    Beiträge
    14
    Guten Abend,

    ich sitze jetzt schon seit einiger Zeit (4Std.) an meinem Problem.

    Und zwar möchte ich per jQuery und


    $.getJSON
    Kommentare abrufen.

    Im Firebug bekomm ich alles als "OK" angezeigt nur auf der Webseite erscheint nichts, kann mir da mal jemand weiterhelfen?!

    hier mal der Code


    index.html

    PHP-Code:
    <script type="text/javascript">
        $(document).ready(function(){

    var u_id='<?php echo $idd;?>';

    $.getJSON("comment.php?c_id="+u_id,function(data)
    {
    $.each(data.posts, function(i,data)
    {
    var div_data="<li id='"+data.id+"'><b>"+data.comment+"</b></li> ";

    $(div_data).appendTo("ol#update");
               
    });
    });

    });
    </script>

    <ol id="update"></ol>

    comment.php


    PHP-Code:
    define("DB_COMMENT"DB_SITO3478."comment");



    if(isset(
    $_GET['c_id'])){
        
    $result = @mysql_query("SELECT * FROM ".DB_COMMENT." WHERE c_id ='".$_GET['c_id']."' ");                            
        
                            
    echo 
    '{"posts": [ ';

    while(
    $row mysql_fetch_assoc($result)){
                    
                                


    echo
    '{
    "id":"'
    .$row['id'].'",
    "user":"'
    .$row['c_user'].'",
    "comment":"'
    .$row['comment'].'",
    "time":"'
    .$row['c_time'].'"
    }, '
    ;

    }

    echo 
    ']
    }'
    ;
                                
                                    



    MFG Maxxe
     

  2. #2
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Zeig doch mal ein Beispiel JSON anstatt dein PHP Code. Wenn du kannst, dann verwende http://php.net/manual/en/function.json-encode.php um das als Fehlerquelle auszuschließen.
    Ich sehe zumindest schon mal ein Komma nach dem letzten Element, dass da nicht hin gehört.


    Hat mit dem Problem nicht zu tun, aber du solltest folgendes ändern:
    Code javascript:
    1
    2
    3
    4
    5
    
    //Vorher
    $(div_data).appendTo("ol#update"); 
     
    //Nacher
    $("#update").append(div_data);

    Denn es ist unnötig den ganzen HTML String in die jQuery Funktion zu stecken und Parsen zu lassen.
    Geändert von CPoly (01.10.11 um 17:52 Uhr) Grund: URL geändert weil Firefox 7 netterweise das "http://" entfernt...
     

  3. #3
    maxxe maxxe ist offline Mitglied
    Registriert seit
    Dec 2007
    Beiträge
    14
    Erstmal danke für den Tip mit dem HTML String, hab jetzt das ganze mit "json_encode($abc)" probiert passiert leider nichts!

    Im Firebug bekomme ich keine Fehler kommt also alles an

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    {"posts": [ {
    "id":"8",
    "user":"1",
    "comment":"abs test",
    "time":"1276463700",
    "avatar":"uploads/avatar.png"
    } {
    "id":"12",
    "user":"1",
    "comment":"hi",
    "time":"1277027839",
    "avatar":"uploads/avatar.png"
    } ]
    }

    nur an der Ausgabe stimmt irgendwas nicht.

    Hab auch alles geprüft ob die id´s nicht doppelt sind usw.

    Weiß einer woran das liegen kann?!
    Geändert von maxxe (01.10.11 um 20:03 Uhr)
     

  4. #4
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Das ist kein valides JSON. getJSON schlägt dann stillschweigend fehlt (fails silently). Kommt die gesamte Ausgabe aus json_encode?
     

  5. #5
    maxxe maxxe ist offline Mitglied
    Registriert seit
    Dec 2007
    Beiträge
    14
    Nein die ausgabe kommt nicht aus json_encode!
     

  6. #6
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Dann solltest du das mal ändern. Hier ein Beispiel, du musst meine beiden Beispiel-Posts ersetzen durch eine while Schleife:

    PHP-Code:
    <?php
    $posts 
    = array();


    $posts[] = array(
        
    'id' => 100,
        
    'user' => 17,
        
    'comment' => 'foo',
        
    'time' => 159924,
        
    'avatar' => 'img.jpg'
    );

    $posts[] = array(
        
    'id' => 432,
        
    'user' => 91,
        
    'comment' => 'bar',
        
    'time' => 529962695,
        
    'avatar' => 'beer.jpg'
    );


    echo 
    json_encode(array('posts' => $posts));
    ?>
     

  7. #7
    maxxe maxxe ist offline Mitglied
    Registriert seit
    Dec 2007
    Beiträge
    14
    Vielen Dank!! Nun funktioniert es ...
    Geändert von maxxe (02.10.11 um 17:38 Uhr)
     

Ähnliche Themen

  1. Frage zu JSON. HTML-Konstrukt mit JSON übergeben
    Von Jan-Frederik Stieler im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 16.04.11, 16:04
  2. JSON firefox Problem
    Von trackmaster im Forum HTML-Editoren
    Antworten: 6
    Letzter Beitrag: 24.12.10, 23:53
  3. Ausgaben Problem
    Von emanuell im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 11.02.08, 20:49
  4. Mehrere AUsgaben in einer <td>
    Von M-GT im Forum PHP
    Antworten: 2
    Letzter Beitrag: 21.08.05, 13:01
  5. Mehrere Ausgaben zusammenzählen
    Von PHP-Fan im Forum PHP
    Antworten: 4
    Letzter Beitrag: 24.07.05, 14:03

Stichworte