我创建了一个分页系统,它显示了数据库中的15个列。 现在我想添加一个带有其他值的下拉菜单,这样我就可以将分页变量更改为50或100。
我已经完成了一个javascript,但它不能正常工作;)它只读取我给脚本的最后一个值,当我更改下拉列表时没有任何事情发生。
一些剧本
$per_page = 15; // Shows how many colums it shows per page
我的javascript
<script type="text/javascript">
function addit(){
if(document.getElementById("add").value=="<?php $per_page = 15; ?>")
{
document.getElementById("amount").value="10"
}
if(document.getElementById("add")."<?php $per_page = 25; ?>")
{
document.getElementById("amount").value="25"
}
if(document.getElementById("add").value=="<?php $per_page = 50; ?>")
{
document.getElementById("amount").value="50"
}
}
</script>
表格
<form action=" " method="get">
<select style="width: 60px; font-size: 17px;" name="add" id="add" onChange="addit()">
<option value="X"> views</option>
<option value="10">10</option>
<option value="25">25</option>
<option value="50">50</option>
</select>
</td>
</tr>
</tbody>
</table>
</form>
任何提示?
感谢
答案 0 :(得分:1)
您需要了解执行PHP Javascript的不同点。 PHP在服务器上构建一个HTML页面,然后将其发送到浏览器,执行任何Javascript。
让我们看看你的代码的一行:
if(document.getElementById("add").value=="<?php $per_page = 15; ?>")
服务器将执行PHP部分。但$per_page = 15
不会向HTML结果输出任何内容。因此,如果您在浏览器中查看结果(使用“查看源代码”),它将如下所示:
if(document.getElementById("add").value=="")
Javascript中的所有三个if
语句都是这样的,都是。
从这里重新思考您的代码。如果在PHP部分中确定每页的元素数量,则需要重新加载页面,以某种方式将此参数传递给服务器,以告诉它要将多少元素放入页面。
答案 1 :(得分:0)
PHP已经在页面发送到浏览器时完成处理,因此除了在页面发送到浏览器之前分配一个数字之外,你的javascript中的php赋值将不会执行任何操作。
您需要做的是:
答案 2 :(得分:0)
我建议您的JS函数会加载附加GET
参数的(相同的?)页面,以传递items per page
值。也许是这样的:
function addit(){
var itemsPerPage = document.getElementById("add").value;
location.href = 'url of your page' + '?ipp=' + itemsPerPage;
}
然后在php
部分,抓住$_GET['ipp']
并根据观众的意愿使用它来渲染您的页面。
然后你可以摆脱<form>
。
答案 3 :(得分:0)
我认为这里不需要Javascript。你可以尝试:
形式:
<form action="process.php" method="get">
<select style="width: 60px; font-size: 17px;" name="add">
<option value="X" disabled>Views</option>
<option value="10">10</option>
<option value="25">25</option>
<option value="50">50</option>
</select>
</form>
Process.php
可能是:
$per_page = $_GET['add'];
//Code to display $per_page number of items..
确定客户端的PHP变量分配不会起作用。因为PHP无法在客户端执行。此时已完成执行并输出HTML。或者您可以使用一些Javascript Get
查询构建&amp;重定向。