2014-10-08 51 views
0

我正在研究一段代碼,它將在模板中顯示mysql查詢的內容,因爲查詢可能會返回數百個結果我已經包含頁面限制器和導航工具。不幸的是,在選擇每頁顯示的結果數量後,我遇到了傳遞頁碼的問題。頁面導航是分開的,並且工作正常,除非無法在此功能運行後看到頁碼。下拉選擇頁面多個變量的重載功能

<script> 
function refreshpage(results_per_page){ 
window.location="classifieds.php?&results_per_page="+results_per_page 
} 
</script> 

<?php 
$results_per_page = $_GET['results_per_page']; 

?> 
<select onchange="refreshpage(this.value);"> 
<option selected value="<?php echo $results_per_page?>"><?php echo $results_per_page?></option> 
     <option value="1">1</option> 
     <option value="2">2</option> 
     <option value="3">3</option> 
     <option value="4">4</option> 
     <option value="5">5</option> 
</select> 

上面的代碼工作正常,並自動重新加載頁面,而是當過我嘗試引入$ page變量的p​​ageRefresh功能無法工作。這是正確的方式去了解我後面的事情,還是有另一種方式可以讓我包含另一個變量。所有它需要的是;

$page; 

從URL採取

$page = $_GET['page'];  

伊夫試圖與平變化函數發送時,從所述refreshPage函數內調用它,即使使用中間函數來組裝與所有的相關數據的擴展和似乎沒有任何結果。

感謝

編輯:

感謝薩瑟,我有足夠的信息來糾正我相信代碼。這似乎現在起作用,所以如果其他人有這個問題,這似乎是一個很好的解決方法。謝謝!既然你用的onchange調用「refreshPage」爲「選擇」 - 元素和發送「THIS.VALUE」你所選擇的值發送給(我從來就沒想到用VAL!)

<script> 
function refreshpage(results_per_page){ 
var page = <?php echo $_GET['page'] ?>; 
window.location="classifieds.php?page=" + page + "&results_per_page="+results_per_page 
} 
</script> 

<?php 
$results_per_page = $_GET['results_per_page']; 

?> 
<select onchange="refreshpage(this.value);"> 
<option selected value="<?php echo $results_per_page?>"><?php echo $results_per_page?></option> 
     <option value="1">1</option> 
     <option value="2">2</option> 
     <option value="3">3</option> 
     <option value="4">4</option> 
     <option value="5">5</option> 
</select>   

回答

0

方法。

因此,您將向refreshPage方法發送1,2,3,4或5作爲參數「results_per_page」。

我想你不想每頁都有一個結果,但我可能是錯的。

你什麼時候設置「results_per_page」或「page」?我的想法是,「選擇」元素是用於「頁面」屬性,因此「refreshPage」方法應接受「頁面」作爲參數。

我會寫一些代碼來證明我的意圖。

<script> 
function refreshpage(page){ 
    var results_per_page = <?php echo $_GET['results_per_page'] ?>; 
    window.location="classifieds.php?page=" + page + "&results_per_page="+results_per_page 
} 
</script> 

<select onchange="refreshpage(this.value);"> 
<!-- If this select is for "page" then I don't understand this next line --> 
<option selected value="<?php echo $results_per_page?>"><?php echo $results_per_page?></option> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    ... 
</select> 

如果這種情況是我不明白,然後告訴我我的想法是錯誤的,我會更新我的答案。而且,只要「頁面」去了,它是什麼時候設置的,用你試過的東西更新你的問題?你有「下一個」和「上一個」按鈕嗎?

+0

對不起,如果我不清楚,頁面選擇功能是一個單獨的功能,它從加載頁面的URl獲取其信息。這是使用特定信息重新加載URl的副功能。選擇部分用於每頁的結果。它被設置爲數字1-5,因爲這是我的示例數據,我需要確保其他函數在使用數千個數據集之前接受代碼。函數變量僅用於「results_per_page」。 $ page變量取自頁面的URL,並不能用此代碼選擇。 – OJ102 2014-10-08 07:11:17

+0

誰在這裏誰瞭解比我更好的Stackoverflow?我現在是否應該更新我的答案,即使OP已經用自己的代碼中的代碼完成了自己的答案,還是應該接受我的答案,因爲它幫助他找到了解決方案的正確答案? – Sasse 2014-10-08 07:28:54

+0

你的回答是正確的,只是使用了錯誤的變量,多數民衆贊成在所有:) – OJ102 2014-10-08 09:56:24