2016-04-16 10 views
-2

Ich habe 3 Zeilen in meiner Db-Tabelle, aber wenn ich meine Daten mit Ajax frage, habe ich 6 Zeilen. Wie ist das möglich?PHP JSON Objekt geben falsche Antwort

in den ersten 3 Ajax-Anrufe habe ich die vollständige db info. und in den nächsten 3 Ajax-Aufrufe, ich habe die richtigen Informationen, was ich in der php fragen for-Schleife

$db = new PDO('mysql:host=localhost;dbname=projectmobilewebappstest;charset=utf8', 'eclipse', 'eclipse'); 
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

$query = $db->prepare('SELECT * FROM poll'); 
$query->execute(); 

$result = $query -> fetchAll(); 

foreach($result as $row) { 

    $result[] = array('poll' => $row['poll'] 
        ,'Yes' => $row['Yes']); 
} 

echo json_encode($result); 


var form = $.ajax({ 
    url: "server.php/lijst", 
    type: "post", 

    dataType: "json", 
    encode: true 
}) 

form.done(function (response) { 

    console.log(response[3].Yes) 
    $("#mydata").html(""); 

    for(var i = 0; i < response.length;i++) 
    { 
     console.log(response[i]) 
     $("#mydata").append(response[4].poll); 
     $("#mydata").append("</br>"); 
    } 

Antwort

0

Ich glaube, man tut etwas verwirrend hier:

foreach($result as $row) { 

    $result[] = array('poll' => $row['poll'] 
        ,'Yes' => $row['Yes']); 

} 
+0

ah ok und wie kann ich alle meine db umfragen in objekte und senden sie mit json zu meinem jquery ajax? – user2978798

+0

verwenden Sie einfach eine andere Variable '$ result_new = array (...)' –

0

hier ist ein Beispiel sein kann helfen Sie

$id_user=$_POST['id_user']; 
    $bdd = new PDO('mysql:host=localhost;dbname=ailyan', 'root', ''); 
    $req = $bdd->prepare('select * from event where id_user = ?'); 
    $req->execute(array($id_user)); 
    //$_SESSION['id'] 

     $response["events"] = array(); 

     while( $donnees = $req->fetch()){ 
     $endroits = array(); 
     $endroits ['titre']=$donnees['titre']; 
     $endroits ['date']=$donnees['date']; 


     array_push($response["events"], $endroits); 
     } 

    print json_encode($response); 

der Rest:

$.ajax({ 
     type:"POST", 
     url:"traitement/event/recuperer_livraison.php", 
     data:{id_user:id_user}, 
     success:function(data){ 

     var obj = jQuery.parseJSON(data); 

     jQuery.each(obj["events"], function(index, value) { 

      console.log(value.titre); 
      console.log(value.date); 

    }) 

    } 
});