2014-04-01 3 views
0

PHP 제품을 루프로 사용하여 많은 제품 (각각 ID가 있음)을 HTML 목록으로 표시하고 각 제품을 평가할 수 있습니다. 평가 시스템은 PHP AJAX JQUERY 기반입니다. 사용자가 제품을 평가하고 AJAX가 값을 반환 한 후 js가 구현되면 해당 값이 해당 제품 항목에 표시되고 그 다음에는 모든 제품 항목이 표시됩니다. 등급이 매겨진 제품 항목에만 표시하고 싶습니다. 여기에 누락 된 루프 내에서 AJAX를 사용하기위한 특별한 고려 사항이 있습니까?PHP 내부의 AJAX 문제 루프

브라우저 도구 또는 페이지에서 오류가 발생하지 않습니다. js 파일을 여러 위치에서 루프 주변으로 옮겼습니다. 이것이 제가 생각해 낸 최고의 구성입니다.

내가 알고있는 코드가 많이 있지만 태그가 포함되어 있다면 그 사실을 보여 주어야한다고 생각했습니다.

HTML 시작 루프

<div id="main" role="main"> 
     <ul> 
     <?php  
    while . . . 
    ?> 
     <li> 
      <div id="products"> 
      <div data-storyidr=" 
    <?php echo $id; ?>" class="rateit"> </div> 
      <div id="response<?php echo $id; ?>"> </div> 
      </div> 
      <div class="clear"></div> 

JS

<script type ="text/javascript"> 
     $('#products .rateit').bind('rated reset', function (e) { 
     var ri = $(this); 
     var value = ri.rateit('value'); 
     var storyidr = ri.data('storyidr'); 
     ri.rateit('readonly', true); 
      $.ajax({ 
      url: 'rate.php', 
      data: { storyidr: storyidr, value: value }, 
      type: 'POST', 
      success: function (data) { 
      $('#response<?php echo $id; ?>').append(data); 
      }, 
      error: function (jxhr, msg, err) { 
      $('#response<?php echo $id; ?>').append('<li style="color:red">' + msg + '</li>'); 
         } 
       }); 
     }); 
    </script> 

끝 루프

  </li> 
     <?php 
    endwhile; 
    mysqli_close($connection); 
    ?> 
     </ul> 
    </div> 
+0

여러 개의'