2012-03-13 4 views
0

나는 PHP 코드의 도움으로 다른 데이터를로드하는 창의 맨 아래로 스크롤하는 코드를 작성하고 있습니다. 그것은 load_first.php 파일을로드하지만 사실이 코드는 익스 피디아의 XML API를 사용하여 호텔 목록을로드하는 데 사용되는이스크롤하면서 작동하지 않는 동안 내용을로드하십시오.

<?php $_SESSION['first']=1; if($_SESSION['first']==1) { ?> 
<script type="text/javascript"> 
    $(window).scroll(function(){ 
     if($(window).scrollTop() == $(document).height() - $(window).height()){ 
      $('div#last_msg_loader').html('<img src="loading.gif">'); 
      var data="cachekey=" + $('.cachekey').val()+"&cachelocation="+ $('.cachelocation').val(); 

      $.ajax({ 
       url: "load_data.php?last_msg_id="+ID, 
       data:data, 
       error:function(error) 
       { 
        alert(error); 
       }, 
       success: function(html){ 
        if(html){ 
         $(".message_box:last").after(data); 
         $('div#last_msg_loader').hide(); 

        }else{ 
         $('div#loadmoreajaxloader').html('<center>No more posts to show.</center>'); 
        } 
       } 
      }); 
     } 
    }); 

</script> 
<?php 

include('load_first.php'); 

?> 



<?php 
} 
else 
{ 

    include('load_second.php');  

    } 
    ?> 
    <div id="last_msg_loader"></div> 

볼이 코드에서 어떤 문제를 load_second.php 파일 을 식별

답변

0

if/else 논리에서 오류가 발생했습니다. 첫째, 사용자가 설정 :

$_SESSION['first']=1; 

그런 다음 당신은 직접 팔로우 경우 :

이 항상 참 의미
if($_SESSION['first']==1) { 

. 다른 절 :

else 
{ 
    include('load_second.php'); 
} 

따라서 트리거 결코입니다. 즉 쓰기 똑같이입니다 :

if (TRUE) { 
} else { 
    # PHP will never go here. 
} 

그래서 당신이 $_SESSION 변수로하고 싶었던대로, 그게 어떤 상황에서도 load_second.php을 포함 만들 수있는 방법이 아니다.

+0

내가 $ _SESSION [ '최초의 변경 상당히 동일 결코 볼 수 '] 값을 load_first.php로 간 후 2로 바꿉니다. 그러므로 if() 조건이 false로 변경되어 else 조건으로갑니다. –

+0

$ _SESSION ['first '] = 1;을'if (! isset ($ _ SESSION [ 'first'])) {$ _SESSION [ 'first'] = 1; }'- 이미 설정되어있는 경우 다시 1로 설정하지 마십시오. – hakre

0

당신은이 조건이 스크롤 값을 기록 할

if($(window).scrollTop() == $(document).height() - $(window).height()) 

사용 콘솔의 맨 아래에 진실 될 것이라고 가정하는 당신은 그들이

관련 문제