2011-10-13 2 views
0

PHP 루프를 만들어 데이터베이스 테이블의 모든 ID를 가져 와서 .append 함수에서 활용합니다. 기본적으로 내가 원하는 것은 데이터베이스를 통한 모든 루프에 대해 jquery.append를 실행하고 #div 라벨을 데이터베이스의 div-id 필드에서 변경하고자합니다.PHP 루프를 사용하여 Jquery.Append 변경

예를 들어,

$('#div-id').append('HELLO CONTENT'); 

나는 내가 .each 사용할 수 있습니다 알고 있지만, 그것은 PHP 부분을 처리하지 않습니다. PHP에서는 당분간 할 수 있지만 Jquery 부분은 처리하지 않습니다. 기본적으로 나는 그것을 보는 방법, 그들은 자신의 루프를 만들고 함께 작동하지 않습니다.

+0

나는 당신이 무엇을 하려는지 명확하지 않지만 PHP가 서버 측에서 실행되기 때문에 클라이언트에서 실행되는 모든 JS보다 먼저 실행될 것입니다. –

+0

내 페이지에서 특정 div를 타겟팅하려고하는데 해당 div의 ID가 데이터베이스에 저장됩니다. – drummer392

답변

2

<script> 태그는 PHP 페이지에서 출력 할 수 있습니다. 나는 표준 MySQL을 가정하고 있는데, 이것을 다른 데이터베이스에 쉽게 적용 할 수 있어야한다.

<!-- rest of page --> 
<script type="text/javascript"> 
<?php 

    // Get all the results from the DB 
    $result = mysql_query("SELECT `div-id`, `content` FROM `table` WHERE `some_field` = 'some value'"); 
    // loop the db results 
    while ($row = mysql_fecth_assoc($result)) echo "$('#{$row['div-id']}').append('{$row['content']}');\n"; 

?> 
</script> 
<!-- rest of page --> 

해야 하는가과 같은 결과물을 출력 할 것입니다

<!-- rest of page --> 
<script type="text/javascript"> 
    $('#div-id1').append('HELLO CONTENT1'); 
    $('#div-id2').append('HELLO CONTENT2'); 
    $('#div-id3').append('HELLO CONTENT3'); 
</script> 
<!-- rest of page --> 

이 ... 그래서 당신은 PHP와 루프를하고있어, 그냥 하나씩 실행됩니다 JS의 라인을, 출력은.

또는 $result을 PHP로 반복하고 하나의 큰 배열을 만든 다음 json_encode() 크기의 루프를 만들어 JS로 반복 할 수 있습니다. 너의 선택.

+0

나는 json_encode로 배열을하는 것에 대해 생각해 봤지만, 실제로 그것을했을 때, 나는 자신과 혼란 스러웠다. 코드에 감사한다.

0

이와 같이 PHP와 JavaScript를 조합 할 수 없습니다. PHP가 서버에서 실행되고 완료되면 (가장 가능성이 큰) HTML 페이지가 생성되어 요청한 브라우저로 다시 전송됩니다. 거기에 HTML이 표시되는 웹 페이지로 렌더링되고 모든 자바 스크립트가 나중에 실행됩니다. 이 시점에서 PHP는 오랫동안 실행을 마쳤습니다.

+0

하, 누군가가 이것을 말할 줄 알았지 만 누군가가 배열을 사용하여 나에게 제안했지만 jquery와 함께 작동하는 방법을 결코 알 수 없다 – drummer392

+0

물론 id를 JavaScript 배열로 출력 할 수 있습니다 (단지'var myIds = new Array (1, 2, 3);'somwhere on your page) 그런 다음 그 중 하나를 사용하여 jQuery를 통해 무언가를 표시하십시오. 그러나 단순히 id를 직접 출력 할 수도 있습니다. –

+0

나는 PHP를 사용하여 ID를 통해 루프를 돌리고 싶지만 데이터베이스에서 페이지의 지정된 div를 #div 태그로 변경하기 위해 jquery에 일종의 루프가 있어야합니다. – drummer392

관련 문제