2014-10-05 1 views
0

데이터베이스에서 레코드를 가져 와서 데이터 테이블에 표시하고 싶지만 브라우저에서이 PHP 코드를 실행하면 간단한 테이블에 레코드 만 표시됩니다. 검색 및 정렬을 위해 jquery 데이터 테이블에서이 결과를 원합니다. 페치 기록jQuery 데이터 테이블에 데이터베이스 레코드 표시

데이터 테이블 (사용 jquery.dataTables.js)

<script type="text/javascript" language="javascript"> 
     $(document).ready(function() { 
     ('#datatable').DataTable(); 
     }) 
    </script> 

MySQL의 함수

자바 스크립트 함수

<?php 
     $con=mysql_connect("localhost","root",""); 
     mysql_select_db("runindia",$con); 
     $query="select *from admin_login"; 
     $rs=mysql_query($query,$con); 
    ?> 
<div class="container"> 
    <table class="table table-bordered table-responsive table-hover display" id="datatable"> 
     <thead> 
      <th> Admin ID</th> 
      <th> User Name</th> 
      <th> First Name</th> 
      <th> Last Name</th> 
      <th> Email</th> 
     </thead> 
     <?php 
      while($r=mysql_fetch_array($rs)) 
     { ?> 

     <tbody> 
      <tr> 
       <td><?php echo $r['admin_id'];?></td> 
       <td><?php echo $r['username'];?></td> 
       <td><?php echo $r['first_name'];?></td> 
       <td><?php echo $r['last_name'];?></td> 
       <td><?php echo $r['email'];?></td> 
      </tr> 
     </tbody> 
    <?php 
    } //closing while 
    mysql_close($con);//mysql connection close 
    ?> 
</table> 
+1

mysql_ * 함수는 더 이상 사용되지 않습니다. 대신에 mysqli_ * 또는 PDO를 사용하십시오. – FAS

+0

@Fabian, mysql_ * 함수는 PHP 5.5.0에서 더 이상 사용되지 않으며 모든 PHP 설치의 약 4 %에서만 사용됩니다. OP에 대한 기회는 5.5.0 미만의 PHP를 사용하고 있으므로 mysql_ *이 ** 권장되지 않는 ** PHP는 매우 높습니다. – davidkonrad

+0

사용이 권장되지 않습니다. 즉 사용이 권장되지 않습니다. 잠시 동안있을 수있는 새 프로젝트를 시작할 때 더 이상 사용되지 않는 메소드에 의존하지 않는 것이 좋습니다. 특히이 경우에는 메서드 호출에 간단한 'i'를 추가하는 것으로 충분합니다. – FAS

답변

1

루프 초과 'TBODY'을 유지보십시오

<table class="table table-bordered table-responsive table-hover display" id="datatable"> 
     <thead> 
      <th> Admin ID</th> 
      <th> User Name</th> 
      <th> First Name</th> 
      <th> Last Name</th> 
      <th> Email</th> 
     </thead> 
<tbody> 
     <?php 
      while($r=mysql_fetch_array($rs)) 
     { ?> 


      <tr> 
       <td><?php echo $r['admin_id'];?></td> 
       <td><?php echo $r['username'];?></td> 
       <td><?php echo $r['first_name'];?></td> 
       <td><?php echo $r['last_name'];?></td> 
       <td><?php echo $r['email'];?></td> 
      </tr> 

    <?php 
    } //closing while 
    mysql_close($con);//mysql connection close 
    ?> 
</tbody> 
</table> 

JSON 형식으로 AJAX 호출을 통해 데이터를 가져 오는 것보다 더 좋은 방법을 시도하십시오.

+0

유감스럽게 생각하지만, ''을 어떻게 남겨 두어야하는지 전혀 알 수 없습니다. – davidkonrad

+1

왜냐하면 거기에 '테이블'안에 단지 하나의 'tbody'가 있어야하기 때문이며 루프로 인해 여러 개의 tbody가 생길 것입니다. –

+0

오 예 - 완전히 옳습니다! 귀하의 답변에 대한 이유를 해결해 주셔서 감사합니다! – davidkonrad

0
<?php 
     $con=mysqli_connect("localhost","root","", "runindia"); 
     $query="select * from admin_login"; 
     $rs=mysqli_query($con, $query); 
    ?> 
<div class="container"> 
    <table class="table table-bordered table-responsive table-hover display" id="datatable"> 
     <thead> 
      <th> Admin ID</th> 
      <th> User Name</th> 
      <th> First Name</th> 
      <th> Last Name</th> 
      <th> Email</th> 
     </thead> 
     <?php 
      while($r = mysqli_fetch_array($rs, MYSQLI_ASSOC)) 
     { ?> 

     <tbody> 
      <tr> 
       <td><?php echo $r['admin_id'];?></td> 
       <td><?php echo $r['username'];?></td> 
       <td><?php echo $r['first_name'];?></td> 
       <td><?php echo $r['last_name'];?></td> 
       <td><?php echo $r['email'];?></td> 
      </tr> 
     </tbody> 
    <?php 
    } //closing while 
    mysqli_close($con);//mysqli connection close 
    ?> 
</table> 
관련 문제