php中的分页和保留结果
我曾尝试在php代码中实现分页脚本(采用我在网上找到的示例代码) 该页面返回mysql查询的重新结果。默认值为空的“关键字”,返回数据库中的所有数据。 当返回所有数据,但我通过关键字搜索过滤结果时,单击“下一页”将在未过滤的结果中返回下一页(即搜索的关键字在刷新过程中丢失),分页工作已成功 这是相关代码(希望有意义): 大宗报价php中的分页和保留结果,php,mysql,pagination,Php,Mysql,Pagination,我曾尝试在php代码中实现分页脚本(采用我在网上找到的示例代码) 该页面返回mysql查询的重新结果。默认值为空的“关键字”,返回数据库中的所有数据。 当返回所有数据,但我通过关键字搜索过滤结果时,单击“下一页”将在未过滤的结果中返回下一页(即搜索的关键字在刷新过程中丢失),分页工作已成功 这是相关代码(希望有意义): 大宗报价 $txt1='<A HREF="/memimomedia/music/128kb/'; $txt2='" ><IMG src="/Sa
$txt1='<A HREF="/memimomedia/music/128kb/';
$txt2='" ><IMG src="/Save.png" width="24" height="24" align="middle" border="0"></A>';
$txt9a='<a href="';
$txt9b='" target="_blank">';
$txt9c='</a>';
$txt10a='<audio src="./128kb/';
$txt10d='" controls></audio>';
if(empty($_POST['searchkeywords']) && empty($_GET['searchkeywords'])) { $result = mysql_query("SELECT *
$Totalresults=mysql_query(“从中选择轨迹(ppl_轨迹左连接
ppl_tracks.RECNO上的TrackStyle=TrackStyle.TrackID左连接
TrackStyle.StyleID=StyleTable.ID)上的StyleTable左连接TrackMood
在ppl_tracks.RECNO=TrackMood.TrackID左连接MoodTable ON
TrackMood.MoodID=MoodTable.ID其中(MoodChoices如
“%$Searchword%”或类似“%$Searchword%”的描述或样式选择
类似“%$Searchword%”或类似节奏“%$Searchword%”或类似音轨
“%$Searchword%”和Mixed=按音轨分组(按音轨排序)为真
//这将检查是否有页码。如果没有,它将设置它
如果(isset($\u GET['pagenum']){$pagenum,则转到第1页=
$_GET['pagenum'];}否则{$pagenum=1;}
else
{
echo " - ";
echo " <a href='{$_SERVER['PHP_SELF']}?pagenum=$counter'>$counter</a> ";
echo " - ";
} $counter = $counter + 1; }
//这里我们计算结果的数量
$hits=mysql\u num\u行($Totalresults)
//这是每页显示的结果数
$page_hits=15
//这告诉我们最后一页的页码
$last=ceil($hits/$page\u hits)
//这样可以确保页码不低于1,也不超过我们的页数
最大页数
如果($pagenum<1)
{
$pagenum=1;
}
elseif($pagenum>$last)
{
$pagenum=$last;
}
//这将设置要在查询中显示的范围
$max=‘限制’($pagenum-1)*$PAGEU hits’,‘.$PAGEU hits
$result=mysql\u query(“选择*自(ppl\u轨迹左连接轨迹样式
在ppl_tracks.RECNO=TrackStyle.TrackID左连接样式表打开
TrackStyle.StyleID=StyleTable.ID)左连接TrackMood打开
ppl_tracks.RECNO=TrackMood.TrackID左连接MoodTable打开
TrackMood.MoodID=MoodTable.ID其中(MoodChoices如
“%$Searchword%”或类似“%$Searchword%”的描述或样式选择
类似“%$Searchword%”或类似节奏“%$Searchword%”或类似音轨
“%$Searchword%”和Mixed=true按曲目分组顺序按曲目$max”
);
“回声”轨迹-
艺术家描述下载”
$color=“1”
而($row=mysql\u fetch\u array($result)){$SelectedStyles=
array();$Track=$row['Track'];$SelectedStylesQuery=mysql\u查询(“
从ppl_轨迹中选择样式选项左连接轨迹样式打开
ppl_tracks.RECNO=TrackStyle.TrackID左连接样式表打开
TrackStyle.StyleID=StyleTable.ID,其中ppl_Track.Track='$Track';
while($row1=mysql\u fetch\u数组($SelectedStylesQuery)){
$SelectedStyles[]=$row1[StyleChoices];}$SelectedMoods=array();$SelectedMoodsQuery=mysql\u query(“从
ppl_曲目左加入ppl_曲目上的TrackMood.RECNO=TrackMood.TrackID
LEFT JOIN MoodTable ON TrackMood.MoodID=MoodTable.ID其中
ppl_tracks.Track='$Track');while($row2=
mysql_fetch_数组($SelectedMoodsQuery)){
$SelectedMoods[]=$row2[MoodChoices];}sort($SelectedMoods);sort($SelectedStyles);$stringS=内爆(“,”,$SelectedStyles);
$stringM=内爆(“,”,$SelectedMoods)
如果($color==1){echo”“;echo”“。$row['Track'].-”。
ucwords($row['Artist'])。“;echo”。$stringM。
“”$stringS。”“echo”。$txt1.$row['FileName'].$txt2。 “;echo”“$txt10a.$row['FileName'].$txt10d.”; 回声“;$color=“2”}
else
{
echo " - ";
echo " <a href='{$_SERVER['PHP_SELF']}?pagenum=$counter'>$counter</a> ";
echo " - ";
} $counter = $counter + 1; }
else{echo”“;echo”“$row['Track'].-”。
ucwords($row['Artist'])。“;echo”。$stringM。
“”$stringS。”“echo”。$txt1.$row['FileName'].$txt2。 “;echo”“$txt10a.$row['FileName'].$txt10d.”; 回声“;$color=“1”}
else
{
echo " - ";
echo " <a href='{$_SERVER['PHP_SELF']}?pagenum=$counter'>$counter</a> ";
echo " - ";
} $counter = $counter + 1; }
}回声“
//这将向用户显示他们所在的页面,以及
页数
echo”--第$pagenum页,共$last--“;//首先我们检查一下
在第一页。如果我们是,那么我们不需要链接到以前的
页面或第一页,所以我们什么也不做。如果我们不是,那么我们产生
指向第一页和上一页的链接
如果($pagenum==1)
{
}
否则
{echo”“;echo”-
“回声”最后->>
“;}mysql_close($con);?>
每次进入新页面时都会重新加载页面,因此需要再次将搜索词传递到页面中。最简单的方法是将分页链接更新到以下位置:
echo " <a href='{$_SERVER['PHP_SELF']}?searchkeywords=" . $_REQUEST["searchkeywords"] . "&pagenum=$counter'>$counter</a> ";
echo”“;
$\u请求将处理$\u POST和$\u GET变量,但您可能希望以自己的方式执行此操作。简单地说,您只需要将搜索关键字传递回您的url请努力格式化您的代码。这是不可读的