2015-02-12 31 views
1

我试图从数据库返回多个数据,然后我会用ajax & JSON它传递给jQuery的,但问题是它不工作的多个数据。任何人都可以帮我解决它吗?这是我的代码。我怎样才能返回用ajax和JSON

jQuery的

$('.highlight').click(function() { 
     var y = $(this).find("td").eq(0).find('input[type="hidden"]').val(); 
     var x = $(this).find("td").eq(1).text(); 
     var z = $(this).find("td").eq(2).text(); 
     //$('#ClassModal').modal('show'); 
     $("#spanclass").text(x); 
     $("#spanclass2").text(z); 
     $('#ClassModal').modal('show');  
     $.ajax({ 
       type:"GET", 
       url: 'db_loadStud.php', 
       data: 'year='+x+'&subject='+z, 
       dataType: 'json', 
       success: function(data){ 
       for(var x=0;x<data.length; x++){ 
        $(".studname").find("span").text(data[0]+", "+data[1]); 
       } 
       } 
     }); 
     return false;  
    }); 

PHP

<?php 

session_start(); 
include("db_conf.php"); 
$fid = $_SESSION['fid']; 
$year = $_GET['year']; 
$sub = $_GET['subject']; 
$sql = "SELECT si_lname, si_fname, si_mname,si_studentno FROM `student_info` a"; 
$sql .= " INNER JOIN (SELECT * FROM student_enrolled WHERE se_active='True') b ON a.si_studentno=b.se_id"; 
$sql .= " INNER JOIN tblcourses c ON b.se_level=c.c_level WHERE c_level='$year' AND c_subject='$sub' AND c_teacher = '$fid'"; 
$result = mysql_query($sql); 
$arr; 
    while($array = mysql_fetch_row($result)){ 

     echo json_encode($array); 

    } 


?> 

HTML

<div class="modal fade" id="ClassModal" style="margin-left:-400px;margin-right:auto;" tabindex="-1" role="dialog" aria-labelledby="ClassModal" aria-hidden="true"> 
    <div class="modal-dialog"> 
     <div class="modal-content" style="width:1000px;"> 
      <div class="modal-header" style="background-color:#0a4595;color:#fff"> 
      <h4 class="modal-title" id="myModalLabel"><center>Landstand of Knowledge Learning School, Inc. [ <span id="spanclass"></span> - <span id="spanclass2"></span> ]</center></h4> 
      </div> 
      <div class="modal-body" style="height:470px;">    
       <div style="float:left;border:1px solid #0a4595;width:200px;height:435px;"> 
        <div style="width:100%;height:30px;border-bottom:1px solid #0a4595;background-color:#0a4595;padding:5px;font-size:12;color:#fff"> 
         <center>STUDENTS</center> 
        </div> 
        <div class="studname" style="width:100%;height:30px;border-bottom:1px solid #0a4595;padding:5px;font-size:12;"> 
           <span id="studname"></span> 
        </div> 

       </div>  
      </div> 
      <div class="modal-footer" > 
       <button type="button" class="btn btn-primary" data-dismiss="modal">Close</button> 
     </div> 
    </div> 
    </div> 
</div> 

预先感谢您

+0

你有没有解决呢?我知道这是张贴2+年前和下面的答案可能有助于问题的一部分,但我看到的另一个问题与PHP代码... – 2017-04-21 18:30:32

回答

1

for循环,你总是覆盖跨度的内容,而不是添加内容到现有因此,只有数组中的最后一个项目将是可见的

$(".studname").empty(); 
for (var x = 0; x < data.length; x++) { 
    $(".studname").find("span").append(data[x][0] + ", " + data[x][1]+'<br />'); 
} 
+0

它不工作:( – Lestr1992 2015-02-12 05:19:08

+0

@ Lestr1992你可以试试'.append(数据[X ] +'
');' – 2015-02-12 05:20:25

+0

我认为我的问题是在 成功:function(data x){查找(“span”).text(data [0] +“,”+ data [1]); } 当我检查我的浏览器时,它返回我的请求,但是当它进入成功时,它返回 – Lestr1992 2015-02-12 07:39:03