2017-01-29 1 views
0

내 웹 사이트에 최고급 테이블이 내장되어 있습니다.HTML 태그의 내용을 PHP 'data'값으로 설정하십시오.

function topScore() { 
      $.get('topScore.php', function(data) { 
       console.log(data); 
       alert(data); 
       }); 
} 

내 PHP의 에코 ​​기능은 다음과 같습니다 :

echo "<tr><td>$username</td><td>$wealth</td></tr>"; 

태그, 그것은 입력의 각 쌍의 주위에 태그를 인쇄 의미하므로 총 출력 외모 태그 내부에서 나는 다음과 같은 코드가 있습니다 이 같은 작은 선물 :

<tr><td>User1</td><td>2500</td></tr> 
<tr><td>User2</td><td>1600</td></tr> 
<tr><td>User3</td><td>1300</td></tr 
<tr><td>User4</td><td>1000</td></tr> 

등 ...

이것은 에코 '다 소요 ta '를 topScore.php에서 추출하여 기록합니다. 그렇다면 '데이터'가 태그의 내용과 동일하도록 어떻게 만들 수 있습니까? 어떻게 든 할 수 있다면, 이름이 테이블에 나타날 것입니다. 이것이 내가 성취하려는 것입니다. 내가 그것을 overthinking하는지 나는 모른다. 그러나 나는 정말로 혼란 스럽다.

편집 : 내 코드 :

<table border="1" cellspacing="0" cellpadding="2" width="620"><tbody> 
      <thead> 
      <tr> 
       <td>Username</td> 
       <td>Clicks</td>     
      </tr> 
     </thead> 
     <tbody> 

     <script> 
function topScore() { 
     $.get('topScore.php', function(data) { 
     var html = $.parseHTML(data); 

     $.each(html, function() { 
     tds = $(this).find('td'); 
     user = tds[0].innerHTML; 
     wealth = tds[1].innerHTML; 

     $("#result").append("<p>" + user + " - " + wealth + "</p>"); 
     }); 
    }); 
} 

      topScore() 
      </script> 
    </tbody> 
</table> 

답변

0

난 당신이 구문 분석하기 쉽게 만드는 PHP 측에서 JSON으로 데이터를 반환하는 것이 좋습니다. 예를 들면 :

topScore.php

<?php 
header('Content-Type: application/json'); 

$data = ... // your array of [$username, $wealth] pairs 

echo json_encode($data); 

자바 스크립트 함수 :

function topScore() { 
    $.getJSON('topScore.php', function(data) { 
     console.log(data); 
     alert(data); 
    }); 
} 

이 현재 반환 당신이 정말 여러 가지 방법이 있습니다, 데이터를 분석하려면 해. 정규식을 사용할 수는 있지만 HTML이기 때문에 JQuery에 내장 된 parseHTML 함수를 이용할 수 있습니다. 예 :

function topScore() { 
    $.get('topScore.php', function(data) { 
     var html = $.parseHTML(data); 

     $.each(html, function() { 
      console.log($(this).find('td').html()); 
     }); 
    }); 
} 
+0

감사합니다. 그러나 두 번째 솔루션은 $. 각 행에 대해 Chrome에서 '정의되지 않은'오류를 반환합니다. – Caspar

+0

내 잘못 - 나는 "console.log ($ this) ..."라인을 의미했습니다. – Caspar

+0

죄송합니다. 솔루션을 테스트하지 않았으며 위와 같이 데이터가 반환되었다고 가정합니다. - https://jsfiddle.net/mepks58v/ 을 참조하십시오. 데이터에 맞게 수정해야 할 수 있습니다 (예 : 줄 바꿈이있는 경우 제거해야 함) –

관련 문제