zoukankan      html  css  js  c++  java
  • 二阶段项目所遇问题 加载分页信息并且加入删除摁钮 限制权限可见

    这个功能是模仿论坛发布功能 只有自己可以删除自己所发布的东西 无法删除别人的发布 ,并且加入分页功能

    想要实现这个功能 总体来说还是比较简单的 难得得分就是加载分页 所以本篇主要记述分页

    实现分页功能的方法

    <script type="text/javascript">
          var ids= $("#huati").attr("ids");
          var uis = $("#tiaojian").attr("uis");
          
          var power = $("#tiaojian").attr("power");
          
         
         var page = 1;
         
         var num = 5;
         
         Load();//加载数据
         
         LoadFenYe();//加载分页信息
         
         function Load()
         {
            
            $.ajax({
                url:"plht.php",
                data:{page:page,num:num,ids:ids},
                type:"POST",
                dataType:"JSON",//用json方式传值
                success:function(data){
                
                    var str = "";
                    var sc = ""; 
                    for( var k in data)//遍历data里的数据
                    {
                        if(uis==data[k].uid || power<2)//加入限制条件,只能是发帖人和管理员才能看见删除摁钮
                        {
                            sc = "<button type='button' aa='"+data[k].ids+"' class='btn btn-danger sc'>删除</button>";
                            
                        }
                        else
                        {
                            sc = "";
                        }
                        str = str + "<tr><td height = '150px'><a href='sixin.php?uid="+data[k].uid+"'><div id='tx' style='border-radius:90px;overflow:hidden'><img height='60px' width='60px' src='"+data[k].img+"'/></div></a></td><td  height = '150px'><a href='sixin.php?uid="+data[k].uid+"'>"+data[k].fasong+"</a></td><td  height = '150px'>"+data[k].neirong+"</td><td  height = '150px'>"+data[k].time+"</td><td  height = '150px'><button type='button' class='btn btn-default'><a href='pl.php?ida="+data[k].ids+"'>评论</a></button>"+sc+"</td></tr><br><br>";
                    }
                    $("#shuju").html(str);
                    $(".sc").click(function(){
      var ida = $(this).attr("aa");
      //var ids= $("#huati").attr("ids");
    
      
        $.ajax({
                url:"shanchu.php",
                data:{ida:ida},
                type:"POST",
                dataType:"TEXT",
                success: function(data){
                
                if(data.trim()=="OK"){
              alert("删除成功");
              window.location.href="huati.php?ids="+ids;
                }
                else
                
                alert("您没有权限删除该条内容");        
            }
            });
             })
                    
                }
                
                }) 
             
             
         }
         function LoadFenYe()
         {
            var  s = ""; 
            //上一页
             s = "<span id = 'prev'>&laquo;</span>";
             
             
             //加载列表
             var zts = 0;
             $.ajax({
                 data:{ids:ids},
                 type:"POST",        
                 async:false,
                 url:"zongtiaoshu.php",
                 dataType:"TEXT",
                 success: function(data){
                     
                     zts  = data ;
                     
                     
                 }
                 
                 });
                 //总页数
            var zys =Math.ceil(zts/num);  //总页数等于 总条数除以每页遍历几条数据
            page = parseInt (page);     //防止报错
            for (var i = page-2;i<page+3;i++) 
            {
                if (i>0 && i<=zys)
                {
                    
                    if(i==page)
                    {
                        s= s+"<span ys = '"+i+"' class = 'dangqian'>"+i+"</span>"; 
                    }
                    else
                    {
                        s= s+"<span ys = '"+i+"' class = 'list'>"+i+"</span>";    
                       }
                }
            }
             //下一页
              s = s+"<span id = 'next'>&raquo;</span>";
              s="<li>"+s+"</li>";
              $("#xx").html(s);
              
    
             //给上一页加事件
        $("#prev").click(function(){
            page = parseInt(page);
            if(page>1)
            {page--;}
            
            //重新加载数据
            Load();
            //重新加载分页信息
            LoadFenYe();
        })
        //给下一页加事件
        $("#next").click(function(){
            page = parseInt(page);
            if(page<zys)
            {page++;}
            
            //重新加载数据
            Load();
            //重新加载分页信息
            LoadFenYe();
        })
        
        //给列表加事件
        $(".list").click(function(){
            page = parseInt($(this).attr("ys"));
            //重新加载数据
            Load();
            //重新加载分页信息
            LoadFenYe();
        })
    }
    
    $("#chaxun").click(function(){
        //重新加载数据
        Load();
        //重新加载分页信息
        LoadFenYe();
    })
    
    
        
     </script>

    遍历数据php  plht.php

    <?php
    $page = $_POST["page"];//当前页数
    $num = $_POST["num"];//每页显示几条
    $ids = $_POST["ids"];
    
    require "DBDA.class.php";
    $db = new DBDA();
    $tguo = ($page-1)*$num;//这是一个算法 当前页数减一乘以要显示的条数
    
    
    $sql = "select * from fatie where huati = '{$ids}' limit {$tguo},{$num}"; //跳过几条 查几条
    
    echo $db->jsonQuery($sql);//用json输出sql语句 返回到data

    删除的php代码

    <?php
    session_start();
    $power = $_SESSION["power"];
    $uis=$_SESSION["uid"];
    $ida =  $_POST["ida"];
    require "DBDA.class.php";
    $db = new DBDA();
    $sql = "delete from  fatie where ids='{$ida}'";
    
    
    
    if($db->query($sql,0) )
    
    {    
        
        
        echo "OK";
    }
        
    else
    {
        echo "NO";
    }

    总条数php 代码

    <?php
    require"DBDA.class.php";
    $db = new DBDA();
    $ids = $_POST["ids"];
    $sql = "select count(*) from fatie where huati = '{$ids}'";
    echo $db->StrQuery($sql);
  • 相关阅读:
    Spring@Profile注解
    day 32 子进程的开启 及其用法
    day 31 udp 协议SOCK_DGRAM
    day 30 客户端获取cmd 命令的步骤
    day 29 socket 理论
    day 29 socket 初级版
    有关 组合 继承
    day 27 多态 接口 类方法 静态方法 hashlib 摘要算法模块
    新式类和经典类的区别
    day 28 hasattr getattr serattr delattr 和带__内置__ 类的内置方法
  • 原文地址:https://www.cnblogs.com/Liangbingbing/p/7027726.html
Copyright © 2011-2022 走看看