夺命雷公狗---Redis---6-案例操作2(用户列表页,实现分页显示已经关注功能)

redis.php(公共文件)

<?php
    $redis = new Redis();
    $redis -> connect(‘localhost‘,6379);
    $redis -> auth(‘123456‘);//因为我修改了配置文件的密码是123456

login.php(登录页面)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <form action="action.php?act=login" method="post">
            <table>
                <caption><h1>用户登录</h1></caption>
                <tr>
                    <th>name</th>
                    <td><input type="text" name="username"></td>
                </tr>
                <tr>
                    <th>pass</th>
                    <td><input type="password" name="pass"></td>
                </tr>
                <tr>
                    <td><input type="submit" value="提交"></td>
                    <td><input type="reset" name="重置"></td>
                </tr>
            </table>
        </form>
    </body>
</html>

index.php(首页)

<?php
    require "redis.php";
    //取出用户列表,实现分页显示
    //1.计算总的用户数,
    $count = $redis -> lsize(‘userid‘);
    //echo $count;die;
    //2.定义每页显示的记录数
    $perpage = 2;
    //3.计算总的页数
    $pagecount = ceil($count/$perpage);
    //4.定义当前页
    $page = isset($_GET[‘page‘])?(max(1,min($pagecount,$_GET[‘page‘]))):1;
    //echo $page;
    //5.取出当前页的数据,思路,取出链表里面的id,根据id拼接哈希,取出哈希里面的内容。
    //$redis -> lrange(‘userid‘,0,1); 这样样是第一页的数据  0代表偏移量 算法 ($page-1) * $perpage =2
    //$redis -> lrange(‘userid‘,2,3); 这样样是第一页的数据 算法 ($page-1) * $perpage =2
    //$redis -> lrange(‘userid‘,4,5); 这样样是第一页的数据 算法 ($page-1) * $perpage =4
    //($page-1)*$perpage-1=1
    //($page-1)*$perpage-1=3
    //如果每页显示5个
    //$redis -> lrange(‘userid‘,0,4);    ($page -1) *$perpage = 0   5
    //$redis -> lrange(‘userid‘,5,9);    5+5-1=9
    //$redis -> lrange(‘usesrid‘,10,14); 10+5-1
    $offset = ($page-1)*$perpage;
    $N=($page-1)*$perpage+$perpage-1;
    $ids = $redis -> lrange(‘userid‘,$offset,$N);//返回的是当前显示数据的id的值,是一个一维数组
    //echo "<pre>";
    //print_r($ids);
    //取出当前页面的数据
    $data = array();

    foreach($ids as $v){
        $data[] = $redis -> hgetall(‘user:id:‘.$v);//返回的是一行数据,也就是一个一维数组
    }
    //var_dump($ids);die;
    session_start();

    //关注程序的开始
    $mid = $_SESSION[‘user_id‘];  //取出登录用户的id
    $ids = $redis ->smembers(‘myguan:‘.$mid);  //返回的是一维数组
    $guan =array();
    foreach($ids as $v){
        $guan[] = $redis -> hgetall(‘user:id:‘.$v);//返回是一行数据,也就是一个一维数组
    }
    //关注程序结束
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <a href="edit.php?id=<?php echo $_SESSION[‘user_id‘]; ?>">尊敬的:<?php echo $_SESSION[‘username‘]; ?>欢迎您的归来!</a>
        <a href="action.php?act=sunll">退出</a><br />
        <table width="500" border=‘1‘>
                <caption><h1>用户列表</h1></caption>
                <tr>
                    <th>id</th>
                    <th>name</th>
                    <th>age</th>
                    <th>操作</th>
                </tr>
                <?php foreach($data as $v){ ?>
                <tr>
                    <td><?php echo $v[‘id‘]; ?></td>
                    <td><?php echo $v[‘username‘]; ?></td>
                    <td><?php echo $v[‘age‘]; ?></td>
                    <td align="center"><a href="edit.php?id=<?php echo $v[‘id‘]; ?>">编辑</a>/
                    <a href="action.php?act=del&id=<?php echo $v[‘id‘]; ?>">删除</a>/
                    <a href="action.php?act=guan&id=<?php echo $v[‘id‘]; ?>">添加关注</a>
                    </td>
                </tr>
                <?php } ?>
                <tr align="right">
                    <td colspan="4">
                        <a href="?page=<?php echo max(1,$page-1); ?>">上一页</a><a href="?page=<?php echo min($page+1,$pagecount); ?>">下一页</a>
                    </td>
                </tr>
            </table>
            <hr />

            <b>我关注的人</b>
            <?php foreach($guan as $v){
                 echo $v[‘username‘].‘-----还有-----‘;
            }?>
    </body>
</html>

reg.php(注册页面)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <form action="action.php?act=reg" method="post">
            <table>
            <caption><h1>用户注册</h1></caption>
                <tr>
                    <th>name</th>
                    <td><input type="text" name="username"></td>
                </tr>
                <tr>
                    <th>pass</th>
                    <td><input type="password" name="pass"></td>
                </tr>
                <tr>
                    <th>age</th>
                    <td><input type="text" name="age"></td>
                </tr>
                <tr>
                    <td align="rigth"><input type="submit" value="注册" /></td>
                    <td align="center"><input type="reset" value="重置"></td>
                </tr>
            </table>
        </form>
    </body>
</html>

edit.php(编辑页面)

<?php
    require "redis.php";
    $ids = $_GET[‘id‘];
            $data = array();
            $data[] = $redis -> hgetall(‘user:id:‘.$ids);

?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <form action="action.php?act=edit" method="post">
            <table width="500" border=‘1‘ >
                <caption><h1>修改中心</h1></caption>
                <tr>
                    <th>name</th>
                    <th>age</th>
                    <th>pass</th>
                </tr>
                <?php foreach($data as $data ){ ?>
                <tr>
                    <td><input type="text" name="username" disabled value="<?php echo $data[‘username‘]; ?>"></td>
                    <td><input type="text" name="age" value="<?php echo $data[‘age‘]; ?>"></td>
                    <td><input type="password" name="pass" value="<?php echo $data[‘password‘]; ?>"></td>
                    <input type="hidden" name="id"  value="<?php echo $ids; ?>">
                </tr>
                <?php } ?>
                </foreach>
                <tr align="center">
                    <td colspan="3"><input type="submit" value="修改">&nbsp;&nbsp;&nbsp;<input type="reset" value="重置"></td>

                </tr>
            </table>
        </form>
    </body>
</html>
时间: 2024-10-26 04:42:21

夺命雷公狗---Redis---6-案例操作2(用户列表页,实现分页显示已经关注功能)的相关文章

夺命雷公狗---微信开发35----公众平台营销咨询系统4(分页)

刚才那几节课程里面将功能几乎都实现了出来,公众平台营销咨询系统最后一部分就是分页的实现了,show_info.php这里修改下代码分页即可实现出来,代码如下所示: <?php //链接数据库 $connect = mysql_connect('localhost','root','root'); mysql_select_db('wxdb',$connect); mysql_query('set names utf8'); //分页开工咯,先取个别名counts $sql = "selec

夺命雷公狗---CMS---22-dedecms(实例之电影网16-栏目页显示大陆电影)

在栏目页面显示出大陆电影. 条件:dede_addonmovie.diqu=’大陆’ 思路:要修改{dede:arclist}标签文件的源码,最终目的,是把该条件添加到sql语句中来. 我们先打开\include\taglib文件夹下的arclist.lib.php 进行查看下里面的源码,,我勒个去还是这么多的代码...... 先找到他的一个输出的地方进行断点测试下,,,, 这里很明显就没有我们需要的数据,,,,那么我们在去四周看看还有什么东西,,, 找到了一个一个和我们遍历标签时候一样的东西(

夺命雷公狗---微信开发23----客服消息接口基础和推送文本

我们这边课程里面一共用到了三个文件,分别是WeChat.class.php和common.php以及index.php 我们在写这个功能之前也要学会查手册,手册我们可以在微信开发这里找到,如下所示: 点击进去后我们将会看到客服接口,我们可以点击下进去看看里面有什么动动 这里有一个发送文本消息的,我们点击进去看下 这里很明显就看到文本消息是通过一个json数据来进行实现的,废话不多说,开工 这里我们先来写一个WeChat.php的文件,这里作用主要适用于封装一个CURL上传类的,代码如下所示: <

夺命雷公狗---微信开发25----客服消息接口基础和推送语音

按照23课的部署,我们再进行改造下WeChat.class.php文件,将get_token.php的代码封装到WeChat类中去,WeChat.class.php代码如下: <?php class WeChat{ //我把请求内容封装到类里面 protected function http_request($url, $data=null){ //我们使用curl函数 //初始化 $ch = curl_init(); //设置变量 curl_setopt($ch, CURLOPT_URL,$u

夺命雷公狗ThinkPHP项目之----商城8商品品牌管理

本章的主要目标是为了对商品品牌进行CRUD(增删改查)操作. 我们在写的时候就要了解业务逻辑,也就是了解表结构 每个字段代表什么含义,为什么是这个类型的 logo:保存的是图片,一般是分两个途径来保存的, 1.保存图片的本身,保存在目录之下 2.将图片的路径保存到数据表中 我们先创建一个名字为BrandController的控制器,和在view视图里面创建一个Brand的文件夹来进行存放模版文件,如下图所示: 然后将add里面的css和图片路径该下即可代码如下: <!DOCTYPE html P

夺命雷公狗—玩转SEO---56---query需求分析与搜索意图研究

做排名4大核心因素: 域名 页面质量 链接 用户行为 我们需要了解什么是query: 我们直接百度一个词,然后F12键盘,进入审查的界面然后进入network,然后找一个jQuery的反馈,如下所示: 他木有出来,然后点击一下清理按钮,然后鼠标再放到输入框中即可见到,如下所示: 然后我们将获取到的数据保存出来,然后在进行二次编辑: 原本: https://www.baidu.com/sugrec?pre=1&p=3&ie=utf-8&json=1&prod=pc&f

夺命雷公狗---微信开发17----自定义菜单的事件推送,响应菜单的CLICK

废话不多说,index.php 代码如下所示: <?php /** * wechat php test */ //define your token require_once "common.php"; define("TOKEN", "twgdh"); $wechatObj = new wechatCallbackapiTest(); //当接入成功后,请注销这句话,否则,会反复验证. //$wechatObj->valid();

夺命雷公狗---linux之centos的安装

由于要玩node.js了,所以还是来复习下linux系统才行,所以夺命雷公狗分享两套安装linux的方法,这是centos的安装方法,,, 管理员默认帐号为:root,密码则是刚才您输入的那个...

夺命雷公狗---linux之红帽的安装

夺命雷公狗分享的第二套安装linux方法是RadHad的安装方法,,, 点击然后就自动重启了