2012-09-26 5 views
2

나는 자바 스크립트에 비교적 새로운 오전, 특히 아약스 그래서 새 행을 삽입 한 후 업데이트 된 테이블을 갖고 싶어하지만, 대신에있는의 ... 나와 함께업데이트 표

을 부담 Ajax는 HTML 테이블을 모두 함께 출력하므로 PHP mysql에서 모든 데이터를 수집하여 루프가있는 기존 테이블에 삽입하는 것을 선호한다.

이것은 일반적으로 배열을 사용하여 데이터의 다양한 부분을 삽입 할 수 있도록 PHP와 while() 함수를 사용하여 수행하는 방법입니다. 예를 들어 "$mem['Name']"

$mems = mysql_query($sql,$con); 
    while($mem=mysql_fetch_array($mems)){ 
       $lmc++; 


          echo '<tr class="data">'; 
           echo '<td class="index">'.$lmc.'</td>';   
           echo '<td class="name">'.$mem['Name'].'</td>'; 
           echo '<td class="arcid">'.$mem['ArcID'].'</td>'; 
           echo '<td class="type">'.$mem['Type'].'</td>'; 
           echo '<td class="role">'; 
           echo '<input style="width:100%;" type="text" name="art_realname" id="art_realname" class="field" value="'.$mem['Role'].'" tabindex="1" />'; 
           echo '</td>'; 
          echo '</tr>'; 
         }; 

내가 먼저 다음 둘째 AJAX로 다시 보내, PHP 파일의 모든 데이터를 수집하고 배열에 넣어 수 있도록 AJAX를 사용하는 방법이 있나요, 그리고 마지막으로 할 루프 섹션 실제로 Javascript를 사용하여 거기에 테이블에 삽입?

답변

1

이 솔루션은 jQuery이 필요하지만 JS framwork/lib는 자유롭게 사용할 수 있습니다.

또한 mysql_* 함수를 사용하면 곧 비추천 될 예정이므로 나쁜 생각입니다.

이제 서버에 ajax.php이라는 스크립트가 있다고 가정 해 보겠습니다. 언제나처럼 데이터베이스를 쿼리하는 것이 좋습니다. 대신에 echo 대신에 변수를 넣으십시오. 그런 다음 클라이언트 측에서

<?php 
/* your script here */ 
$data = ... /* data your query returned */ 

header ("Content-Type: application/json"); 
echo json_encode ($data); 
?> 

:

$.getJSON ("ajax.php", function (data) { 
    /* data is the $data from your PHP script */ 
}); 

당신은 바보 :)

+0

브릴리언트없는 당신의 신속하고 도움이 응답을 주셔서 대단히 감사합니다. 그냥 한 가지만 확인해도 될까요? PHP'$ data [ 'row1']'에 대해 말하면 Jquery에서 상응하는 결과를 얻었 으면'data.row1'이 될까요? 건배, 조지 –