php css实现tab选项卡原理

 更新时间:2016年11月25日 15:52  点击:2251

我们要写个css教程如
.on{}当前状态
.off{}平常状态

下面来看看实现原理,就是根据

if( $_get['id'] )
{
   $class ='on';
}
else
{
   $class ='off';
}
<div class=<?=$class?>>
</div>

首先要设计数据库教程,需要建一个表,里面存储分类信息,至少需要3个字段,第一个是主键(id),第二个是父级分类id(parentid),第三个是分类的名称(classname)。可能的一种效果是:
id  parentid  classname
1    0          一级分类a
2    0          一级分类b
3    1          二级分类a
4    1          二级分类b
主要思路:首先看第三行和第四行,父类id(parentid)的值是1,表示属于id=1这个类的子类,而,一,二两行因为是一级分类,没有上级分类,所以父类id(parentid)的值是0,表示初级分类,依次类推便实现了无限级分类。最终的效果是:
级分类a
二级分类a
二级分类b
级分类b
然后就是程序,这里以php教程作为描述语言,可以很方便的改成其他语言,因为原理相似,就是一个递归而已。

<?php
$dbhost = "localhost";   // 数据库主机名
$dbuser = "root";   // 数据库用户名
$dbpd = "123456";   // 数据库密码
$dbname = "test";   // 数据库名
mysql教程_connect($dbhost,$dbuser,$dbpd);       //连接主机
mysql_select_db($dbname);       //选择数据库
mysql_query("set names 'utf8'");
display_tree("├",0);
function display_tree($tag,$classid) {
    $result = mysql_query("
        select *
        from ylmf_class
        where parentid = '" . $classid . "'
        ;"
    );
    while ($row = mysql_fetch_array($result)) {
        // 缩进显示节点名称
  echo $tag.$row['classname'] . "<br/>";
        //再次调用这个函数显示子节点的子节点
  display_tree($tag."─┴",$row['id']);
    }
}
?>

php5后,引入了__autoload这个拦截器方法,可以自动对class文件进行包含引用,通常我们会这么写:
复制代码 代码如下:
function __autoload($classname) {
include_once $classname . '.class.php';
}

$user = new user();

当php引擎试图实例化一个未知类的操作时,会调用__autoload()方法,在php出错失败前有了最后一个机会加载所需的类。因此,上面的这段代码执行时,php引擎实际上替我们自动执行了一次__autoload方法,将user.class.php这个文件包含进来。

在__autoload函数中抛出的异常不能被catch语句块捕获并导致致命错误。

如果使用 php的cli交互模式时,自动加载机制将不会执行。

当你希望使用pear风格的命名规则,例如需要引入user/register.php文件,也可以这么实现:
复制代码 代码如下:
//加载我
function __autoload($classname) {
$file = str_replace('_', directory_separator, $classname);
include_once $file . 'php';
}
$userregister = new user_register();

 

引用我们讲两个一种是变量引用一种是文件include引用,
通过 include() 或 require() 函数,您可以在服务器执行 php教程 文件之前在该文件中插入一个文件的内容。除了它们处理错误的方式不同之外,这两个函数在其他方面都是相同的。include() 函数会生成一个警告(但是脚本会继续执行),而 require() 函数会生成一个致命错误(fatal error)(在错误发生后脚本会停止执行)。

 

<?php include("header.php"); ?>

<h1>welcome to my home page</h1>

<p>some text</p>


三个文件,"default.php"、"about.php" 以及 "contact.php" 都引用了 "menu.php" 文件。这是 "default.php" 中的代码:

<?php include("menu.php"); ?>

<h1>welcome to my home page</h1>

<p>some text</p>

</body>
</html>

php的引用(就是在变量或者函数、对象等前面加上&符号)

在php 中引用的意思是:不同的名字访问同一个变量内容.
与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址

变量的引用

php 的引用允许你用两个变量来指向同一个内容
[php]

<?
$a="abc";
$b =&$a;
echo $a;//这里输出:abc
echo $b;//这里输出:abc
$b="efg";
echo $a;//这里$a的值变为efg 所以输出efg
echo $b;//这里输出efg
?>


[/php]

 

$str[1]="i我是一只小小qq:42343243      444234324";
$str[2]="我是一只小小qq联系人42343244234    fasdfdsfas";
$str[3]="我是一只小小qq42343244234    fasdfdsfas";

$preg="#(d*)(d{5,14})#";

for($i=1;$i<4;$i++){

preg_match($preg,$str[$i],$arr);
echo "<pre>";
print_r($arr);
echo "<pre>";

}

最简单的方法如下

preg_match_all('/(qq)+.*?(d{4,16})/i', $c, $strresult);

int preg_match_all ( string pattern, string subject, array matches [, int flags])


在 subject 中搜索所有与 pattern 给出的正则表达式匹配的内容并将结果以 flags 指定的顺序放到 matches 中。

搜索到第一个匹配项之后,接下来的搜索从上一个匹配项末尾开始。

flags 可以是下列标记的组合(注意把 preg_pattern_order 和 preg_set_order 合起来用没有意义):

 

[!--infotagslink--]

相关文章

  • php语言实现redis的客户端

    php语言实现redis的客户端与服务端有一些区别了因为前面介绍过服务端了这里我们来介绍客户端吧,希望文章对各位有帮助。 为了更好的了解redis协议,我们用php来实现...2016-11-25
  • jQuery+jRange实现滑动选取数值范围特效

    有时我们在页面上需要选择数值范围,如购物时选取价格区间,购买主机时自主选取CPU,内存大小配置等,使用直观的滑块条直接选取想要的数值大小即可,无需手动输入数值,操作简单又方便。HTML首先载入jQuery库文件以及jRange相关...2015-03-15
  • JS实现的简洁纵向滑动菜单(滑动门)效果

    本文实例讲述了JS实现的简洁纵向滑动菜单(滑动门)效果。分享给大家供大家参考,具体如下:这是一款纵向布局的CSS+JavaScript滑动门代码,相当简洁的手法来实现,如果对颜色不满意,你可以试着自己修改CSS代码,这个滑动门将每一...2015-10-21
  • jQuery+slidereveal实现的面板滑动侧边展出效果

    我们借助一款jQuery插件:slidereveal.js,可以使用它控制面板左右侧滑出与隐藏等效果,项目地址:https://github.com/nnattawat/slideReveal。如何使用首先在页面中加载jquery库文件和slidereveal.js插件。复制代码 代码如...2015-03-15
  • PHP+jQuery翻板抽奖功能实现

    翻板抽奖的实现流程:前端页面提供6个方块,用数字1-6依次表示6个不同的方块,当抽奖者点击6个方块中的某一块时,方块翻转到背面,显示抽奖中奖信息。看似简单的一个操作过程,却包含着WEB技术的很多知识面,所以本文的读者应该熟...2015-10-21
  • SQLMAP结合Meterpreter实现注入渗透返回shell

    sqlmap 是一个自动SQL 射入工具。它是可胜任执行一个广泛的数据库管理系统后端指印, 检索遥远的DBMS 数据库等,下面我们来看一个学习例子。 自己搭建一个PHP+MYSQ...2016-11-25
  • PHP实现今天是星期几的几种写法

    复制代码 代码如下: // 第一种写法 $da = date("w"); if( $da == "1" ){ echo "今天是星期一"; }else if( $da == "2" ){ echo "今天是星期二"; }else if( $da == "3" ){ echo "今天是星期三"; }else if( $da == "4"...2013-10-04
  • 基于Ionic3实现选项卡切换并重新加载echarts

    这篇文章主要介绍了基于Ionic3实现选项卡切换并重新加载echarts,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-09-24
  • 原生js实现fadein 和 fadeout淡入淡出效果

    js里面设置DOM节点透明度的函数属性:filter= "alpha(opacity=" + value+ ")"(兼容ie)和opacity=value/100(兼容FF和GG)。 先来看看设置透明度的兼容性代码: 复制代码 代码如下: function setOpacity(ele, opacity) { if (...2014-06-07
  • Bootstrap选项卡学习笔记分享

    这篇文章主要为大家详细介绍了Bootstrap选项卡学习笔记,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-02-19
  • JS+CSS实现仿msn风格选项卡效果代码

    本文实例讲述了JS+CSS实现仿msn风格选项卡效果代码。分享给大家供大家参考,具体如下:这是一款来自MSN网站的选项卡,清新淡蓝色风格,新闻类、资讯类、文章类网站都比较适合使用,代码扩展性高,W3C标准设计,兼容IE、火狐等多种...2015-10-23
  • Android中用HttpClient实现Http请求通信

    本文我们需要解决的问题是如何实现Http请求来实现通信,解决Android 2.3 版本以后无法使用Http请求问题,下面请看正文。 Android开发中使用HttpClient来开发Http程序...2016-09-20
  • Vue.js组件tabs实现选项卡切换效果

    这篇文章主要为大家详细介绍了Vue.js组件tabs实现选项卡切换效果的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-12-02
  • jquery实现标签支持图文排列带上下箭头按钮的选项卡

    带上下箭头jquery垂直tab选项卡切换标签,技持左侧列表上下滚动,滚动到底部带信息提示。复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml...2015-03-15
  • 利用CSS3制作漂亮TAB选项卡方法介绍

    TAB选项卡是一个非常不错可以在同样大小的空间中放更多的内容了,现在我们看很多门户网站都有这个功能,可能大家见得最多的就是QQ弹窗了,有很多的分类可以进行切换的哦。...2017-07-06
  • mysql存储过程实现split示例

    复制代码 代码如下:call PROCEDURE_split('分享,代码,片段',',');select * from splittable;复制代码 代码如下:drop PROCEDURE if exists procedure_split;CREATE PROCEDURE `procedure_split`( inputstring varc...2014-05-31
  • 简单实现js选项卡切换效果

    这篇文章主要为大家介绍了简单实现js选项卡切换效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-02-05
  • js编写选项卡效果

    这篇文章主要为大家详细介绍了js编写选项卡效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-05-27
  • vue实现商品详情页功能之商品选项卡

    这篇文章主要为大家详细介绍了vue实现商品详情页功能之商品选项卡,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-04-21
  • 很棒的Bootstrap选项卡切换效果

    这篇文章主要为大家分享了一款很棒的Bootstrap选项卡切换效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-07-06