2012-05-31 160 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->信息[ '頁'] ,$ result-> info ['page']);' – zerkms

+0

爲什麼在使用js時只能使用常規的html鏈接? – 2012-05-31 20:50:05

+0

@zerkms這兩個變量都顯示了他們應該在第1頁上顯示的內容,'$ result-> info ['pages']'shows 2 and'$ result-> info ['page']'shows 1. on page 2 ,'$ result-> info ['pages']'顯示2和'$ result-> info ['page']'顯示2. –

回答

1

你並不需要修改--$result->info['page'],只是($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

原來你是對的......如果只有兩個頁面,添加更多和下一個作品,但prev不會。你能向我解釋' - $ var'和'($ var - 1)'之間的區別嗎? –