2012-05-31 5 views
0

즉석 페이지 매김 시스템에 다음 스 니펫을 사용하고 있습니다. 불행히도, 나는 약간의 장애물에 부딪쳤다. 변수 $result->info['pages']은 원격 API에 의해 반환되며 사용 가능한 페이지 수입니다. 변수 $result->info['page']이 현재 보이는 페이지입니다. 링크는 예상대로 올바른 위치에 표시되지만 페이지가 항상 1 인 것처럼 행동합니다 ('1'링크는 항상 일반 텍스트로 표시되고 나머지는 항상 링크로 표시됨). 그러나 $result->info['page']이 표시되면 올바른 페이지 번호가 표시되고 표시된 정보가 올바른 것입니다. 내가 뭘 잘못하고 있을지 생각해?페이지 매김 문제

<?php if ($result->info['pages'] > '1') { 
    if ($result->info['page'] != '1') { 
     echo '<a onClick="location.replace(\'?page=' . --$result->info['page'] . '\');">Prev</a> '; 
    } else { 
     echo 'Prev '; 
    } 
    for ($i = 1; $i <= $result->info['pages']; $i++) { 
     if ($i == $result->info['page']) { 
      echo $i . ' '; 
     } else { 
      echo '<a onClick="location.replace(\'?page=' . $i .'\');">' . $i . '</a> '; 
     } 
    } 
    if ($result->info['page'] != $result->info['pages']) { 
     echo '<a onClick="location.replace(\'?page=' . ++$result->info['page'] . '\');">Next</a>'; 
    } else { 
     echo 'Next'; 
    } 
} ?> 
+0

'위해서 var_dump ($에서 그 결과> 정보 갈 것이다, --$result->info['page']을 수정할 필요가 없습니다 [ '페이지'] , $ result-> info [ 'page']); ' – zerkms

+0

정규 html 링크를 사용할 수있을 때 js를 사용하는 이유는 무엇입니까? –

+0

@zerkms 두 변수 모두 정확히 무엇을해야하는지 보여줍니다 ... 1 페이지에서'$ result-> info [ 'pages']'는 2를 보여주고'$ result-> info [ 'page']'는 2 페이지에 1을 보여줍니다. , $ result-> info [ 'pages']'는 2를 보여주고'$ result-> info [ 'page']'는 2를 보여줍니다. –

답변

1

그냥 ($result->info['page'] - 1)로 교체하고 모든 것을 잘

http://ideone.com/WiGh4

<?php 

$result = new stdClass(); 
$result->info = array(
    'pages' => 2, 
    'page' => 2 
); 

if ($result->info['pages'] > '1') { 
    if ($result->info['page'] != '1') { 
     echo '<a onClick="location.replace(\'?page=' . ($result->info['page'] - 1) . '\');">Prev</a> '; 
    } else { 
     echo 'Prev '; 
    } 
    for ($i = 1; $i <= $result->info['pages']; $i++) { 
     if ($i == $result->info['page']) { 
      echo $i . ' '; 
     } else { 
      echo '<a onClick="location.replace(\'?page=' . $i .'\');">' . $i . '</a> '; 
     } 
    } 
    if ($result->info['page'] != $result->info['pages']) { 
     echo '<a onClick="location.replace(\'?page=' . ($result->info['page'] + 1) . '\');">Next</a>'; 
    } else { 
     echo 'Next'; 
    } 
} 

?> 
+0

이 표시되지 않으므로 제대로 표시되지만 클릭하면 링크에서 이미 아무 것도하지 않습니다 ... 왜냐하면 당신은 이미 활성화 된 페이지에 링크하고 있기 때문입니다. –

+0

@ Ghost1227 : http://ideone.com/WiGh4 - updated – zerkms

+0

당신이 옳았다는 것이 밝혀졌습니다 ... 단 두 페이지 만 있으면 그 작업과 다음 작업을 더 추가 할 수 있지만 작동하지 않습니다. '- $ var'과'($ var-1)'의 차이를 제게 설명해 주시겠습니까? –