使用PHP和SQL的页面选择下拉列表

使用PHP和SQL的页面选择下拉列表,php,html,mysql,Php,Html,Mysql,以下是完整的代码: 我正在帮助为其他人编写的现有代码添加分页功能。此代码生成一个如下所示的页面:(用于测试目的的虚构角色名称) 目标:下拉列表显示所有可用页面,当他们点击一个新页面时,它将显示从MySQL查询中获取的该特定页面的25个帐户 工作原理:我可以动态创建下拉列表,以显示每页的正确帐户数,当我转到第2页时,它会显示下一组帐户 问题:由于从第134行开始的$i计数器,每当有人转到新页面时,它都会自动转到最后一页,因为$i显然显示的是最高值。这也意味着用户不能返回到上一页 <?php

以下是完整的代码:

我正在帮助为其他人编写的现有代码添加分页功能。此代码生成一个如下所示的页面:(用于测试目的的虚构角色名称)

目标:下拉列表显示所有可用页面,当他们点击一个新页面时,它将显示从MySQL查询中获取的该特定页面的25个帐户

工作原理:我可以动态创建下拉列表,以显示每页的正确帐户数,当我转到第2页时,它会显示下一组帐户

问题:由于从第134行开始的$i计数器,每当有人转到新页面时,它都会自动转到最后一页,因为$i显然显示的是最高值。这也意味着用户不能返回到上一页

<?php
$i = 0;
echo '<form method="post">';
echo '<select name="accountPage" onchange="this.form.submit()">';
while ($i < $numPages) {
$i++;
$currentPage = $_POST['accountPage'];
    if ($i != $currentPage) {
        echo '<option value="'.$i.'"';
    } else {
        echo '<option value="'.$i.'" selected = "selected"';
    }
echo ">Page ".$i."</option>";
}
echo '</select>';
echo '<input type="hidden" name="accountPage" value="'.$i.'">';
echo '<input type="hidden" name="masteremail" value="'.$masteremail.'">';
echo '</form>';
?>    

在过去的两个月里,我已经写了3-4次不同的代码。这真的应该在很久以前就完成,但我一直遇到一个障碍,我不知道如何解决它(或者我的解决方案导致我遇到另一个障碍)

我对“下一页/上一页”不感兴趣,因为我们有些人有数百个帐户。这只会给用户带来挫败感,所以我们(我和网站编码者)觉得下拉选择新页面会更容易

我只需要用户能够进入每个页面,也能够回到以前的页面。我们完全被困在如何解决这个问题上。 我们曾考虑过为页面设置单选按钮,但这似乎会给我们带来同样的问题


有人能告诉我如何解决这个问题吗?

您的问题可能是由
echo''引起的
因为这是在循环之后,所以它将是
$i
的最后一个值。由于它位于您的
之后,它将覆盖选定的值。你有这个理由吗?我知道这就是问题所在。我不知道怎么修理它。我之所以拥有它,是因为我需要它来发布他们选择的页码,这样第53行周围的代码就能正常工作,并显示数据库中正确的数据。当时,这似乎是最好的方法,直到事情开始搞砸。(注意:我在顶部的pastebin中有完整的代码页。)难道不可能只为隐藏的输入使用不同的名称吗?我已经尝试过这样做,但我仍然需要它来抓取用户选择的页面,以便将该数字输入MySQL查询并显示下一页的帐户。我不知道如何从本质上获取他们选择的页面的选项值。我已经知道不要使用$I作为隐藏输入,所以我需要在其中添加另一个变量,但我最终添加的所有内容都会破坏页面或给我带来相同的问题。如果您已经使用select传递他们选择的页面(因此,他们将在的页面),为什么需要隐藏输入?我不明白隐藏的输入在理论上应该传递与select为您所做的完全相同的信息。您的问题可能是由
echo''引起的
因为这是在循环之后,所以它将是
$i
的最后一个值。由于它位于您的
之后,它将覆盖选定的值。你有这个理由吗?我知道这就是问题所在。我不知道怎么修理它。我之所以拥有它,是因为我需要它来发布他们选择的页码,这样第53行周围的代码就能正常工作,并显示数据库中正确的数据。当时,这似乎是最好的方法,直到事情开始搞砸。(注意:我在顶部的pastebin中有完整的代码页。)难道不可能只为隐藏的输入使用不同的名称吗?我已经尝试过这样做,但我仍然需要它来抓取用户选择的页面,以便将该数字输入MySQL查询并显示下一页的帐户。我不知道如何从本质上获取他们选择的页面的选项值。我已经知道不要使用$I作为隐藏输入,所以我需要在其中添加另一个变量,但我最终添加的所有内容都会破坏页面或给我带来相同的问题。如果您已经使用select传递他们选择的页面(因此,他们将在的页面),为什么需要隐藏输入?我不明白隐藏的输入在理论上应该传递与select完全相同的信息