Php实现无限栏目分类读取的例子

 更新时间:2016年11月25日 17:25  点击:1526
下面给大家分享一个Php实现无限栏目分类读取的例子,希望文章对各位会带来帮助。

实现无限极栏目分类思路: 获取自增加ID(也就是父ID) 然后在到数据库获取子ID(也就是uid子id) 数据如下
id:1  uid:0  我是栏目1
id:2  uid:1  我是栏目2
id:3  uid:1  我是栏目1的子类

显示结果:                                                
我是栏目1                                                
我是栏目1的子类
我是栏目2                

下面是Php代码

 代码如下 复制代码

<?php
 $query = $this->db->query("SELECT * FROM category");
 $list = $query->result();
 foreach($list as $v){
 if($v->category_id == 0){//获取父栏目(等于0的都是父栏目)
 $categoryul = anchor("home/content/".$v->id,$v->category_name);
 echo "<ul>".$categoryul."</ul>";
 $listx = $this->Listx->list_id($v->id);//在根据父id显示出指定的子栏目
 foreach($listx as $vid){
 
 $category = anchor("home/content/".$vid->id,$vid ->category_name);
 echo "<li>".$category."</li>";
   }
    }
  }
?> 

今天发现本站的上一页与下一页出现有问题,上一页没有问题但是在下一页是直接到了本频道最新发布的文章了,按原理应该是文章本身ID的前与后的ID才是上下页吧,下面我来与大家详细讲述一下。

先看个例子

1,2,3,4,5

假如上面5个是ID了,我要对上一页排序直接使用order by id desc ,如我当前ID为3那么出来的是2才对,对下一页我们要用order by id asc得出的排序应该是,4,好了原理就这么简。

sql实现方法

 代码如下 复制代码

上一页

$sql ="Select 字段 from 表名 where id<3 order by id desc limit 1";

下一页

$sql ="Select 字段 from 表名 where id>3 order by id asc limit 1";


得出的结果与我们想的是一样的,好了最后我把自己以前写的一个函数分享给各位。

 代码如下 复制代码

/*
 上一页,下一页
 int $tag 0上一页,1下一页
 int $fid www.111Cn.net
*/
 function nextPre($tag=0,$zid,$fid)
 {
  if( $tag )
  {
   $sql ="Select 字段 from 表名 where id<$fid order by id desc limit 1";
  }
  else
  {
   $sql ="Select 字段 from 表名 where id>$fid order by id asc limit 1";
  }
  //$sql = "Select * from 表名 where order by id desc limit 0,10";
  $result =  mysql_query($sql) or die('query error');
  if( mysql_num_rows( $result ) )
  {
   $rs = mysql_fetch_array( $result );
   return "<a href="".$rs['s_url']."">".$rs['title']."</a>";
  }
  else
  {
   return '没有了';
  }
 }

注意:本站原创教程转载必须注明来源http://www.111cn.net 否则后果自负

网站流量大但是访客就是不要点击!着让我们想赚钱的站长苦恼不以!但是在php中有这么一个很好的函数就是:session。思路是这样的:用session来保存每一个访问者的ip。

这样 访问一次后就不调广告了。这样就2全奇美了。不会乱跳广告。二又可以增加收入。

代码如下:
 

 代码如下 复制代码

<?php
session_start();
$lifeTime = 24 * 3600;
session_set_cookie_params($lifeTime);
$i = $_SESSION['vv']=$_SESSION['vv']+1;

if ($i < 2):?>

您的弹跳窗代码   

<?php endif; ?>

 

注意:必须要是弹跳窗的广告才能现实!

关键字过滤非常的简单把要过滤的内容存在数组或文档中,然后用户提交时我们进行preg_match或istrpos判断即可解决了,具体方法如下。

 代码如下 复制代码

//过滤黑名单关键字函数
function check_($data){
 $keywords = "你是大神吗|你好|去死";
 if(preg_match("/$keywords/i",$data)){
  return;
 }else{
  return $data;
 }
 
}

关键字的存放形式为txt,txt文件中以这样形式存放:|赌博机|卖血|出售肾|出售器官|眼角膜

 代码如下 复制代码

<?php
function Filter_word( $str, $fileName )  
{  
    if ( !($words = file_get_contents( $fileName )) ){  
        die('file read error!');  
    }  
    $str = strtolower($str);
//var_dump($words);
$word = preg_replace("/[1,2,3] | /i", '', $words);
//$wor = substr($word,0,-1);
//$w = preg_replace("|/|i", '/', $word);
//echo "<pre>";
//var_dump($w);
//$words = "aaa|bbb|ccc|ddd|eee";
    $matched = preg_replace('/'.$word.'/i', '***', $string);
return $matched;
}  
 
$content = "<a href='#'>我要aaafsdfbbb</a>";  
if ($result = Filter_word($content, './words.txt') ){
echo $result;
    echo "替换成功 ";  
}else{  
    echo "替换失败! ";

在php中__FILE__当前运行文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。这是一个魔法变量(预定义常量),我们可以通用dirname与basename来获取文件目录或文件名。


一、__FILE__与dirname(__FILE__)与basename(__FILE__)使用:


通常在配置文件路径的时候用dirname(__FILE__)是非常有效的方法,但是因为__FILE__的路径是当前代码所在文件(而不是url所在文件)完整路径,所以定义配置文件通常要放在根目录下定义网站的根地址,但是下面的方法可以解决配置文件的存放问题。

 代码如下 复制代码
1.dirname(dirname(__FILE__)); /*
2.
3.假设__FILE__为 /home/web/config/config.php 
4.上面的方法输出为 /home/web 
5.*/

dirname(dirname(__FILE__));得到的是文件上一层目录名
dirname(__FILE__);得到的是文件所在层目录名


假设现在的目录及文件结构如下,我们所要测试的变量在wp_smtp_admin.php文件中:

wp-content\plugins\wp-smtp\wp-smtp.php
wp-content\plugins\wp-smtp\wp_smtp_admin.php
wp-content\plugins\wp-smtp\img\blq_32_32.jpg

测试结果如下:

 代码如下 复制代码

echo __FILE__ . "<br />"; //输出 F:\xampp\htdocs\wordpress\wp-content\plugins\wp-smtp\wp_smtp_admin.php
echo dirname(__FILE__) . "<br />"; //输出 F:\xampp\htdocs\wordpress\wp-content\plugins\wp-smtp
echo basename(__FILE__) . "<br />"; //输出 wp_smtp_admin.php二、测试wordpress自带的一些函数://www.111cn.net

echo plugin_basename(__FILE__) . "<br />"; //输出 wp-smtp/wp_smtp_admin.php
echo dirname(plugin_basename(__FILE__)) . "<br />"; //输出 wp-smtp
echo plugin_dir_url(__FILE__) . "<br />"; //输出 http://localhost/wordpress/wp-content/plugins/wp-smtp/
echo plugin_dir_path(__FILE__) . "<br />"; //输出 F:\xampp\htdocs\wordpress\wp-content\plugins\wp-smtp/
echo plugins_url() . "<br />"; //输出 http://localhost/wordpress/wp-content/plugins
echo plugins_url('',__FILE__) . "<br />"; //输出 http://localhost/wordpress/wp-content/plugins/wp-smtp
echo plugins_url('/img/blq_32_32.jpg',__FILE__)  . "<br />"; //输出 http://localhost/wordpress/wp-content/plugins/wp-smtp/img/blq_32_32.jpg

好了现在我们来看看这dirname与basename相关说明

dirname() 函数返回路径中的目录部分。

basename() 函数返回路径中的文件名部分。

从这里我们就不难看出上面的结果了。

[!--infotagslink--]

相关文章

  • Linux下PHP安装curl扩展支持https例子

    安装curl扩展支持https是非常的重要现在许多的网站都使用了https了,下面我们来看一篇关于PHP安装curl扩展支持https例子吧。 问题: 线上运行的lamp服务器,默认yu...2016-11-25
  • php使用floor去掉小数点的例子

    floor会产生小数了如果我们不希望有小数我们是可以去除小数点的了,下面一聚教程小编来为各位介绍php使用floor去掉小数点的例子,希望对各位有帮助。 float floor (...2016-11-25
  • 纯Css实现下拉菜单的简单例子

    下面我们来看一篇关于纯Css实现下拉菜单的简单例子,希望这篇文章能够给各位同学带来帮助,具体步骤如下. 大家可能会经常用到hover这属性,用hover实现鼠标经过的颜...2017-01-22
  • 帝国CMS灵动标签调用当前父栏目下所有子栏目-支持选中状态/高亮

    帝国CMS实现灵动标签调用当前父栏目下所有子栏目-支持选中状态及当前栏目高亮,支持栏目自定义排序。最适用于内容模板,显示父栏目下的子栏目。 支持静态栏目页与动态栏目页 代...2016-05-19
  • php时间日期对比与日期加减例子

    在php中日期对比用得比较多了,还有一个日期加减也用到不少,下面我拿两个例子来给大家介绍在php中日期操作方法吧,希望文章能给你带来帮助 功能需求 文章发布时段操...2016-11-25
  • php更新修改excel中的内容例子

    本例子不是读取Excel或生成新的Excel,而是读取现有的Excel文件,然后修改Excel中的数据,就像修改mysql中数据一样的哦。 代码如下 ...2016-11-25
  • php正则获取文章内容中图片地址例子

    正则提取图片中的地址我们介绍过很多的相关文章了,下面再来给各位介绍一个可以提取内容中第一张图片的例子,希望对各位有帮助。 代码如下 复制代码 ...2016-11-25
  • php获取QQ头像并显示的例子

    最近看到博客留言的头像有点别扭,因为游客的头像都是同一个头像,看着不是很舒服。虽然现在绝大多数的主题集成了Gavatar头像功能,先不说gavatar被墙的问题,我自己现在都没...2016-11-25
  • 帝国CMS单页面栏目解决方案,支持当前栏目高亮,方法其一

    帝国CMS功能确实非常强大。但为啥子做个单页面就这么麻烦呢。 在论坛找了很久,一般来有以下几个方法: 一、其实栏目有个“页面内容式”。但悲催的是居然不支持绑...2016-05-19
  • php判断字符串是否包含另一个字符串例子

    php判断字符串是否包含另一个字符串的实现方法有许多的办法,像我们在网上一搜索可看到大量关于字符是否包含指定字符的方法,下面我把这些实用的例子整理一起与大家分享...2016-11-25
  • MVC4制作网站教程第四章 部分栏目功能实现代码

    这篇文章主要为大家详细介绍了MVC4制作网站教程,部分栏目功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-22
  • PHP date函数获取时间几个例子

    date函数是php中一个非常好用的日期获取函数了,我们可以使用它来获取指定日期或者当前日期了,下面我来简单的介绍一下date函数用法与常用用法吧。 PHP星期几获取代...2016-11-25
  • 帝国CMS调用父栏目下所有子栏目(排除当前栏目)

    给一客户制作仿京东商城的商品分类菜单,本来这种菜单形式也很常见的,但京东商城的比较变态,就是当前栏目展示并且在保在最上面。如下图。 如是就想到一个思路: 先调用当前栏...2016-05-19
  • dedecms函数分享之获取某一栏目所有子栏目

    以前从来没写过递归(其实想想,对算法完全没概念),刚好有这个需求,试着写了一下,发现也挺容易的,特别记录一下。数据库是dedecms默认的,dede_arctype是保存栏目的表,reid是栏目的父级栏目id。复制代码 代码如下:$array = array(...2014-05-31
  • 帝国CMS支持内嵌标签多规则多类型调用循环子栏目数据

    帝国CMS循环子栏目数据调用标签,调用的子栏目数据只能调用一种信息,比如只能调用一组最新信息,如何同时调用一组最新信息及点击排行信息呢? <?php $bclassid=$GLOBALS[navclassi...2016-05-19
  • php 设置cookie路径例子总结

    对于cookie path很多的朋友不以为燃了这样会发现就是因为一个小点或一个路径问题测试了一天发现读取不了cookie值了,今天我就来给大家介绍cookie中路径的一些例子与注...2016-11-25
  • php文件锁类防止并发的例子

    文件锁可以防止文件读写时多人访问时出现共享问题或数据不准确的问题,下面我们来看一篇关于php文件锁类防止并发的例子,具体如下. 工作间隙写了个文件锁的类,用于...2016-11-25
  • php输出404状态码的例子

    404状态代码在php中可以使用header输出但不能使用echo或print输出哦,许多的朋友把这个给搞混了,下面我们来看一篇关于php输出404状态码的例子 例子 代码如...2016-11-25
  • JavaScript实现多栏目切换效果

    在网站开发中尤其是新闻类网站,经常遇到多栏目切换的设计,这种效果有很多种实现效果,现在记录一种很简单的写法...2017-01-09
  • 视频网站的制作例子二

    Listing 4. simplemovie.mxml <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:VBox...2016-11-25