2013-07-05 4 views
2

et l'envoie comme réponse aux ajaxComment afficher les données récupérées de la base de données sous la forme

$
<?php 
    $connect = mysql_connect("localhost", "root", ""); 
    $data = mysql_select_db("testme", $connect); 
    $identity = $_REQUEST['id']; 

    $query = "SELECT * FROM student_demo WHERE id=1"; 
    $getdata = mysql_query($query); 

    $get_row1 = mysql_fetch_array($getdata); 

    $data1 = array(
      $get_row1[0], 
     $get_row1[1], 
     $get_row1[2], 
     $get_row1[3] 
    ); 
    print_r($data1); 
?> 

$ // Cela envoie le data1 $ retour au code ajax $

if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp = new XMLHttpRequest(); 
} else { // code for IE6, IE5 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
} 

xmlhttp.onreadystatechange = function() { 
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
     alert(xmlhttp.responseText); 
     temp1 = xmlhttp.responseText.split("=>"); 
     alert(temp1); 
     for (var i = 0; i < 10; i++) { 
     $('.data' + i).val(tmp1[i]); 
      if (tmp[i] == "[0]") { 
       document.getelementById("c_name").value = temp1[i]; 
      } 
     } 
    } 
} 

xmlhttp.open("GET", "process.php?id=" + ID, true); 
xmlhttp.send(); 

maintenant, quels sont les changements que je devrais faire pour obtenir les valeurs de la tableau temp1 à afficher dans la zone de texte $

+1

Je peux voir que vous utilisez '' $ en boucle l'hypothèse où ses jQuery' 'Données associées pourquoi ne pas utiliser' $ .ajax() '? – GoodSp33d

+0

Qu'est-ce que tmp array? Vous parlez de temp, mais vous avez aussi tmp. – 3ventic

+0

Vous demandez comment analyser correctement la réponse d'ajax? En d'autres termes, comment le convertir en JS-array? –

Répondre

1

Dans votre code php, vous devriez mieux répondre encode à JSON:

data1=array($get_row1[0], 
     $get_row1[1], 
     $get_row1[2], 
     $get_row1[3]); 

json_encode($data1); 

Et puis, dans le code JS, vous pouvez analyser la chaîne de réponse à l'aide JSON.parse:

if (xmlhttp.readyState==4 && xmlhttp.status==200) 
{ 
    alert(xmlhttp.responseText); 
    temp1=JSON.parse(xmlhttp.responseText); 
    console.log(temp1); // this way you can see exact structure of an object in browser console 
    var i; 
    for(i=0;i<10;i++) 
    { 
     $('.data'+i).val(tmp1[i]); // not sure what is that. If you are already using jQuery, then you can do everything even simpler 
     if(tmp[i]=="[0]") 
     { 
      document.getElementById("c_name").value=temp1[i]; // see here getElementById - javascript is case sensitive 
     } 
    } 

} 

Note: JSON.parse est disponible en navigateurs modernes seulement. Dans IE7, par exemple, vous obtiendrez une erreur à cause de cela. Pour résoudre ce problème, vous pouvez télécharger this petit morceau de JavaScript.

Pour la solution jQuery jeter un oeil here

Questions connexes