使用session处理用户搜索后数据的上一页和下一页跳转

搜索语句界面:
/*单一检索:此处为一个下拉列表的检索*/
if(isset($_POST[‘submit‘]) && $_POST[‘submit‘] == ‘点击搜索‘)
{

    if(isset($_POST[‘content‘])) {
        $content = $_POST[‘content‘];
        if (isset($_POST[‘basic‘])) {
            $basic = $_POST[‘basic‘];
            $sql = "SELECT * FROM page WHERE $basic like ‘%$content%‘";
            $result = mysqli_query($link, $sql);
            if ($result) {
                while ($row = mysqli_fetch_assoc($result)) {
                    $page_info[] = $row;
                    $tents[] = $row[‘id‘];
                }
            } else {
                echo "未查询到数据";
            }
            $_SESSION["n"]=$tents;    //此处用session存储搜索到内容的id

        }
    }
}         

处理页面跳转的界面:

if(isset($_POST[‘prev‘]) && $_POST[‘prev‘] == ‘上一条信息‘)
{

    if(isset($_POST[‘id‘]))
    {
        $id=$_POST[‘id‘];
        $text = $_SESSION["n"];   //使用之前用session存储的搜索到的id
        $offset=array_search($id,$text);
        if($offset-1<0)
        {
            $prev=$id;
            echo "<script>alert(‘当前是第一条信息!‘);history.go(-1);</script>";
        }
        else
        {
            $prev = $text[$offset-1];//上一条信息
            header("location:../View/ShowDetail.php?id=$prev");
        }
    }

}

if(isset($_POST[‘next‘]) && $_POST[‘next‘] == ‘下一条信息‘)
{
    if(isset($_POST[‘id‘]))
    {
        $id=$_POST[‘id‘];
        $text = $_SESSION["n"];
        $num=count($text);
        $offset=array_search($id,$text);
        if($offset==$num-1)
        {
            $next=$id;
            echo "<script>alert(‘当前是最后一条信息‘);history.go(-1);</script>";

        }
        else
        {
            $next = $text["$offset"+1];
            header("location:../View/ShowDetail.php?id=$next");

        }
    }

}
时间: 2024-10-03 20:51:11

使用session处理用户搜索后数据的上一页和下一页跳转的相关文章

php按条件查询的数据分页显示,点击下一页时又列出全部数据的解决办法

其实很简单,只要把表单提交方式改为get方式就行了,然后调用分页函数: function getpage(&$m,$where,$pagesize=10){ $m1=clone $m;//浅复制一个模型 $count = $m->where($where)->count();//连惯操作后会对join等操作进行重置 $m=$m1;//为保持在为定的连惯操作,浅复制一个模型 $p=new Think\Page($count,$pagesize); $p->lastSuffix=fa

SQL数据同步到ELK(四)- 利用SQL SERVER Track Data相关功能同步数据(上)

一.相关文档 老规矩,为了避免我的解释误导大家,请大家务必通过官网了解一波SQL SERVER的相关功能. 文档地址: 整体介绍文档:https://docs.microsoft.com/en-us/sql/relational-databases/track-changes/about-change-tracking-sql-server?view=sql-server-2017 Change Data Capture:https://docs.microsoft.com/en-us/sql/

原创:PHP利用session,实现用户登录后回到点击的页面(本文以TP为例)

1.以下内容纯属原创,请谨慎选择: ①目的:用户登录超时,session过期,点击后跳转到登录页,登录成功再跳转到鼠标点击的页面. ②流程:用户登录---session过期---点击跳转到登录页---再次登录成功---跳转回点击的页面 ③思路:利用TP自带session默认开启,只要我们的url有变化,那么久将变化的url存入[同名]的session变量中: 用户登录过期,session失效,点击任意url,将该url重新存入session变量中,再次登录成功,redirect到该url即可 ④

搜索引擎——用户搜索意图的理解及其难点解析,本质是利用机器学习用户的意图分类

用户搜索意图的理解及其难点解析 搜索引擎涉及的技术非常的繁复,既有工程架构方面的,又有算法策略方面的.综合来讲,一个搜索引擎的技术构建主要包含三大部分: 对 query 的理解 对内容(文档)的理解 对 query 和内容(文档)的匹配和排序 (点击放大图像) 我们今天主要探讨其中的 Query Understanding,即对 query 的理解.对 query 的理解, 换句话说就是对用户搜索意图的理解.先看垂直搜索中的一些例子: "附近的特价酒店" "上海到扬州高速怎么

大数据技术之_18_大数据离线平台_02_Nginx+Mysql+数据收集+Web 工程 JS/JAVA SDK 讲解+Flume 故障后-如何手动上传 Nginx 日志文件至 HDFS 上

十一.Nginx11.1.介绍11.2.常见其他 Web 服务器11.3.版本11.4.Nginx 安装11.5.目录结构11.6.操作命令十二.Mysql12.1.介绍12.2.关系型数据库(SQL)种类12.3.特征12.4.术语12.4.与非关系型数据库比较(Not Only SQL)12.4.1.种类12.4.2.特征12.4.3.总结十三.数据收集13.1.收集方式13.2.数据的事件类型13.2.1.Launch 事件13.2.2.PageView 事件13.3.Nginx 日志收集

基于搜索推荐系统根据用户搜索频率(热搜)排序

之前写的三叉树,有点儿简单,并不能满足实际项目的需要.先简单分析一下solr中搜索推荐系统的核心算法. wiki中有关于solr的搜索推荐的详细描述,但是核心算法需要自己查看源代码.关于wiki上的解读,之前做了一次简单的翻译,根据此文档,详细研读了源代码,先把核心思想呈现出来. 基本流程如下:当用户输入搜索词语前缀时,通过前端调用solr的suggest,找到Suggeser对象,Suggester根据匹配的field从主索引库中读取field下面的terms,来构建dictionry,由于主

用户登录后重定向到要访问页面

代码下载:login_limit 1.需求场景 1)分享到其它平台链接用户点击跳转相应平台登录页面,登录后重定向到分享页面 2)用户停留在某页面长时间未操作至session过期,刷新或点击其他链接重定向到登录页面,登录后要求重定向到要访问页面 2.需求分析 考虑到登录后要重定向到某个页面,所以在跳转登录页面的时候需要系统存储当前链接,以便在登录后重定向.思路已经非常清晰,由于我们使用拦截器进行用户是否登录判断,因此只需在拦截器的方法里对当前链接进行保存,然后登录重定向即可.具体代码如下: 由于之

PHP - cookie和session存储用户信息

<?php session_start(); //假设用户登录成功获得了以下用户数据 $userinfo = array( 'uid' => 10000, 'name' => 'spark', 'email' => '[email protected]', 'sex' => 'man', 'age' => '18' ); header("content-type:text/html; charset=utf-8"); /* 将用户信息保存到sessi

转载:如何严格限制session在30分钟后过期!

如何严格限制session在30分钟后过期!1.设置客户端cookie的lifetime为30分钟:2.设置session的最大存活周期也为30分钟:3.为每个session值加入时间戳,然后在程序调用时进行判断: 至于为什么,我们首先来了解下php中session的基本原理: PHP中的session有效期默认是1440秒(24分钟),也就是说,客户端超过24分钟没有刷新,当前session就会失效.当然如果用户关闭了浏览器,会话也就结束了,Session自然也不存在了!大家知道,Sessio