2014-10-08 91 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