php动态分页逻辑错误
我正在开发一个页面,用户可以在分页中输入表格的限制。在我这样做的时候,我输入的数据被采集并且根据那个进行查询。但是当我点击该表的另一个页面时,该值被重置为默认值,我在此将其设置为5。php动态分页逻辑错误
<?php session_start(); ?>
<a href="recordentry.php">Submit New record</a><br><br>
<form method="post">
<input type="text" name="dlimit">
<input type="submit" name="submit">
</form>
<?php
$database = 'test';
require 'connection.php';
if(!isset($_POST['submit']))
{
$limit = 5;
}
else
{
$dlimit = $_POST['dlimit'];
$limit = $dlimit;
}
@$id = $_GET['id'];
if($id==""||$id==null)
{
$page=0;
}
else
{
$page = ($id*$limit)-$limit;
}
$qq ="select * from record limit $page,$limit";
$result = $link -> query($qq);
?>
<table border="1"><th>ID</th>
<th>Name</th>
<th>qualification</th>
<th>address</th>
</tr>
<?php
while ($row = mysqli_fetch_object($result))
{
?>
<tr>
<td><?php echo $row->id ?></td>
<td><?php echo $row->user_name ?></td>
<td><?php echo $row->qualification ?></td>
<td><?php echo $row->address ?></td>
</tr>
<?php
}
?>
</table>
<?php
$query = "SELECT * FROM record";
$result = $link -> query($query);
$rows = mysqli_num_rows($result);
$rr = $rows/$limit;
$rr = ceil($rr);
for ($i=1; $i<=$rr ; $i++) {
?>
<a href="recordfetch.php?id=<?php echo $i; ?>"><?php echo @$i;?> </a>
<?php
}
mysqli_close($link)
?>
运行上面的代码并检查。如果我的话不清楚给你。
我认为$ _POST数据丢失。你点击链接,这样新的页面就会打开,不需要POST信息。
如果切换到GET而不是POST,则可以更改此设置。您可以将GET参数添加到您的<a href="">
标签。
例如 <a href="pagination.php?page=5&dlimit=100
而且尽量避免@
错误抑制和不通过$ _ POST/$ _ GET直接瓦尔到您的SQL字符串。坏人可以使用它进行SQL注入
我尝试过,但随着我**取代**后** **取得**无限循环开始。 文件中有两个链接,一个是数据在数据库中输入的位置,另一个是存储数据库连接数据的连接。 recordfetch.php是文件本身。 我使用的演示SQL结构是** user_name **,**资质**和**地址** 希望此信息有助于解决此问题 – Shashank
我不明白你想要什么。自动取款机。我认为你只是想要一个用户定义的LIMIT。因此,我会将GET添加到链接 – mirko911
好吧我缺少一个得到。但是同样的事情,无论我在哪个页面上,当我进入限制系统时都会接受并处理,之后当我再次更改页面时,它会开始显示默认值,即:5 – Shashank
所以我得到了我的问题的答案。如果有人在以后需要它,我会在这里发布它。
<a href="recordentry.php">Submit New record</a><br><br>
<form method="get">
<input type="text" name="dlimit">
<input type="submit" name="submit">
</form>
<?php
$database = 'test';
require 'connection.php';
if(empty($_GET['dlimit']) && !isset($_GET['submit']) && empty($_GET['n']))
{
$limit = 5;
global $limit;
}
else
{
if (isset($_GET['dlimit']))
{
$limit = $_GET['dlimit'];
}
else
{
@$limit = $_GET['n'];
}
global $limit;
}
if(!isset($_GET['submit'])&& empty($_GET['n']))
{
$n=5;
global $n;
}
else
{
if(empty($_GET['dlimit']))
{
$n=$_GET['n'];
}
else
{
$n=$_GET['dlimit'];
}
global $n;
}
@$id = $_GET['id'];
if($id==""||$id==null)
{
$page=0;
}
else
{
$page = ($id*$limit)-$limit;
}
$qq ="select * from record limit $page,$limit";
$result = $link -> query($qq);
?>
<table border="1"><th>ID</th>
<th>Name</th>
<th>qualification</th>
<th>address</th>
</tr>
<?php
while ($row = mysqli_fetch_object($result))
{
?>
<tr>
<td><?php echo $row->id ?></td>
<td><?php echo $row->user_name ?></td>
<td><?php echo $row->qualification ?></td>
<td><?php echo $row->address ?></td>
</tr>
<?php
}
?>
</table>
<?php
if (!isset($_GET['submit']) && empty($_GET['n'])) {
$n = 5;
global $n;
}
else
{
if (empty($_GET['dlimit'])) {
$n = $_GET['n'];
}
else
{
$n = $_GET['dlimit'];
}
global $n;
}
$query = "SELECT * FROM record";
$result = $link -> query($query);
$rows = mysqli_num_rows($result);
$rr = $rows/$limit;
$rr = ceil($rr);
for ($i=1; $i<=$rr ; $i++) {
?>
<a href="recordfetch.php?id=<?php echo $i; ?>&& n=<?php echo @$n; ?>"><?php echo @$i;?> </a>
<?php
}
mysqli_close($link)
?>
我再次在这里提的是,这是我在这里包含的文件只是连接,我充满了我的连接细节等就是数据由用户输入我的记录项文件。
我们应该如何运行你的代码而不缺少文件和数据库结构等等。 –