2015-02-12 30 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