月度归档:2008年05月

双胞胎女孩 贱女孩包包和阿紫是堕落还是新潮

推荐“一对自称“贱女孩:包包和阿紫”的90后女孩的博客不到70个小时被点击超过500万次,到今天(29日)这个数字已经接近1000万,而且还在被快速刷新…”这是一则新闻。笔者感到好奇点开了该博客的主人公,是一对90后的双胞胎女孩所开的博客,点击率之高只因为她们俩到目前为止共写了7篇博客,每一篇博客都让大家颇有争议。灰暗的语言以及颠覆了正常道德观引来众多网友的关注。其火爆程度让人惊惶。

  第一篇《包包与阿紫:写给我爹的一封信》,也正是这篇博客文章使90后双胞胎姐妹包包和阿紫串红网络。文章里言辞激烈,话题猛指父母老师甚至男人。“我不叫你爸爸因为显的太过虚伪。并不贴切。我不叫你爸。因为我无法越过语言障碍。我只能叫你“喂”。在几张附图下面的说明文字里有:“我在男人的世界游刃有余,男人是愚蠢的、肮脏的、属于欲望的,不要用甜言蜜语搪塞她的耳朵,你若爱她,就请给她大把人民币。”等等这些过激的语言行为发生在90后女孩的文章中纯属罕见。

  另外第二篇文章中可以依稀看出,18岁的包包与阿紫博客自曝被包养,我们不禁想问是堕落还是新潮?以下是摘录其博客一段原文:“这个不眠的夜晚,我坐在床上不安的抽着手上的peel香烟,把它当作镇定剂一样猛吸,然后轻稳的吐出烟雾,看着一缕缕白烟扩散开来,弥漫在空气里经久不散,香烟燃尽了只留下一个黑不溜球的烟蒂,我把它扔在我最爱的红色心型的烟灰缸内,那里横尸遍野的躺满它死去的弟兄们。或许等我的青春燃尽了,不是孤独终老就是和这倒霉的香烟落得同一个下场。请原谅我不得不这么悲观,对于我现在依靠的这个男人而言,这样的结果不用想都是必然的。我就是让世人唾骂的寄生虫,附在男人体内靠着他庞大的财产赖以生存。但我不是别人口中的二奶,或者我不确定自己是不是。也许是三奶,四奶,五奶,也许更多…”

  从所有的博文中了解,这个对双胞胎完全是向往物质的追求生活。有网友评论:虚荣心没有错,为了自己的虚荣心努力的争取比依靠别人得到更有满足感,你有勇气写出来,为什么没有勇气去改变呢,悲剧的开始难道注定要有一个悲剧的结尾吗,这个社会没人注意你的过去,只注重现在,所以放弃不堪的过去,争取可见的未来吧!本人认为该博客有两种目的,一种纯属炒作包装自己的行为,一种就是现实生活中的自我宣泄行为,有相关各心理专家表示,这样的心理和道德观值得担忧。
  用她们的话做为结束语,也让更多人深思社会中存在的这种想象:“常在网上游荡,习惯在深夜看陌生人的故事和心情,这次,我和包包(我的双胞胎妹妹),决定写出我们自己的故事,作为送给自己18岁的成人礼物,我是阿紫。我们生在普通工人家庭,贫贱出身。没有接受过正规的高等教育,只是普通的职高女生而已….(作者:周新宁)

本文来源于 tension’s house http://www.mytension.cn/ , 原文地址: http://www.mytension.cn/archives/1051/

看一下你的QQ等级,就能知道你属于哪种网民

QQ的等级除了一个太阳可以上传头像建两个群之外,基本没有什么其他的作用了!
但是它可以证明你是什么级等网民.

网络新手
1级-----------在线5天-----------
2级---------在线12天---------
3极-------在线21天---------
4级-----------在线32天----------
5级---------在线45天-------
6级-------在线60天-------
刚刚接触网络的新朋友,对网络一知半解的.有的时候会突然对朋友说一句"告诉你一个秘密,我发现用智能ABC输入法可以打出各种符号@!#$!%!@±℃"或者是"我发现QQ可以修改好友备注,我可以给他们改成各种希奇古怪的名字"~~~~~~~等等幼稚、可笑的话。

 

网络游侠
7级---在线77天-----
8级-------在线96天-----
12级----在线192天----
对网络有一定的熟悉和认识,有的开始疯狂的加人聊天,有的开始聊QQ群,有的开始网恋。
对各大门户网站的网址倒背如流。在各种网站查阅新闻和信息。
开始玩各种类型的网上游戏。斗地主、麻将、扑克、传奇SF、魔兽世界……

网络骑士
13级---到--- 16级
成为了半个网虫了。
开始建群,成为了群主、老大。在各大论坛读帖子、发帖子。每发一个帖子一天要看上10遍,随时关注别人的回复。
见过5个以上的网友,有过几段很失败的网恋历史。
进语音视频聊天室寻找下一个网恋的目标。
网上游戏已经到达了一定的境界。
走在大街上只要听到别人谈论与网络有关的话题,耳朵都会立起来。

 

网络痴迷者
16级---到---30级
十足的网虫。
开始尝试网上购物。
在电脑前面,可以做任何自己想做的事。找到任何字想查阅的东西,下载任何自己想要的软件。达到了随心所欲的境界。
对聊天已经不屑。只是和几个认识的朋友聊聊而已。很少加其他人。
对网恋更加不屑,但每次遇到心仪的对象,又有开始新网恋的冲动。但热情很快熄灭。
注重与自己的BLOG和空间的装饰,开始写网络日志。记录生活和网络的点滴。
在网上的游戏中,已经达到了厌倦的境界。只是偶尔上以前玩过的游戏很朋友聊聊天,或者玩玩一些益智类游戏。

 

31级-到 47级
成仙了。
经常会让朋友叫去帮忙查某些资料或处理一些网络问题。
这个时候开始专注于某项事物。不再一意味的漫无目的地网上冲浪了。
但是更多的时候还是坐在电脑前面发呆,或者干脆去找几本网络小说看看、或者在网上下载点电影看看。
与朋友聊天的时候打的字越来越少,看帖子,但很少回复(斑竹除外)很少的发表新帖子。
已经在网络成仙他们坐在电脑前面的时间越来越少,但不开电脑又觉得不“安心”所以索性把电脑打开,然后到别的房间去看电视……

 

 

==================================

我的QQ:

大号:7279915 (32级)

小号:50130089 (25级)

经典Web 2.0样式。

Web 2.0潮流的盛行,从代码开始,到颜色,样式,绝非偶然,这是一种引导的趋势。前些时候一个老外朋友给我了他研究的非常有用的按钮样式,让我大吃一惊,喜出望外。他对Web 2.0的感觉研究颇深,而且把Web2.0的感觉保存为样式,应用起来实在是太方便了。激动之余,我将其发放,估计有好多人要开心的跳起来了。总共131 个Photoshop经典样式.ASL格式。

来源:Adobekit Forum
01.jpg

以下是一些样例:

  02.jpg

 

在PS预设管理器加载样式。

loadingstyles_l.jpg

somebuttonexamples.jpg

web20layerstylesve01.rar

考考大家的数学

一天晚上,有3个人去住旅馆, 300元一晚。三个人刚好每人掏了100元凑够300元交给了老板。
3×100=300(元)
后来老板说今天搞活动,优惠到250元,拿出50元命令服务生退还给他们三人。
300-250=50(元)
服务生偷偷藏起了20元,把剩下的30元钱分给了他们三个人,每人分到10元.
50-20=30(元)
30÷3=10(元)
这样,刚才每人掏了100元,现在又退回10元,也就是90元。
100-10=90(元)
每人只花了90元钱,3个人每人90元就是270元
3×90=270(元)
再加上服务生藏起的20元就是290元,
270+20=290(元)
还有10元钱去了哪里???
300-290=10(元)

价钱谈不拢,微软意外撤回并购雅虎案

中评社香港5月4日电/喧腾一时的全球软体巨人微软集团并购搜寻引擎雅虎案今天出现戏剧性变化。据报道,微软已经撤回先前提出的四百二十三亿美元并购案计划。

  微软为了与搜寻网站龙头Google一较长短,一直期盼透过并购华裔企业家杨致远创办的雅虎,而能有所突破。

  据美国媒体报道,微软公司发言人3日表示微软放弃并购雅虎。微软此前希望与雅虎达成交易,成交价格将在每股32-35美元之间。但雅虎对此价格表示反对。双方迟迟未能达成一致意见。

  根据微软执行长巴尔默写给雅虎执行长杨致远的一封信指出,微软愿意以每股三十三美元,超出现在每股二十九点四美元价格,总计四百七十五亿美元并购雅虎。

  不过,雅虎认为微软提出的价格依旧偏低,起码要求每股三十七美元,也就是总价至少五百三十亿美元以上,才肯放手。

  雅虎现在要求的价格大约等于微软三个多月前第一次提出并购价格的二倍,当时雅虎股价每股约为十九点一八美元。

  有分析师此前认为,微软并购雅虎基本上不存在反垄断问题,因此遭否决的几率只有5%-25%。

分页类,具备ajax分页功能

 

这个类是我经常使用的一个类,配合jquery实现ajax的分页,非常好用

最近在开发一个web2.0网站,纯ajax效果。。。

 

 

PHP代码
  1. <?php   
  2.   
  3. /*  
  4. PAGE CLASS  
  5. Copyright (C) 2004-2005 Harry Wang  
  6. GNU General Public License 321  
  7. This program is free software; you can  
  8. redistribute it and/or modify it under the  
  9. terms of the GNU General Public License as  
  10. published by the Free Software Foundation;  
  11. either version 2 of the License, or  
  12. (at your option) any later version.  
  13. This program is distributed in the hope that  
  14. it will be useful, but WITHOUT ANY WARRANTY;  
  15. without even the implied warranty of  
  16. MERCHANTABILITY or FITNESS FOR A PARTICULAR  
  17. PURPOSE. See the GNU General Public License  
  18. for more details.  
  19. You should have received a copy of the GNU  
  20. General Public License along with this  
  21. program; if not, write to the Free Software  
  22. Foundation, Inc., 59 Temple Place, Suite 330,  
  23. Boston, MA 02111-1307 USA  
  24. */  
  25. /**  
  26.  * 數據庫分頁類  
  27.  * 這個數據庫分頁類可以使用在帶有ADODB的數據庫中  
  28.  * @author      Weizhen Wang <harry34010493@gmail.com>  
  29.  * @version $Id: page.inc.php,v 1.19 2007/10/15 10:00:05 nbx Exp $  
  30.  * @example  /inc/example/page.example.php  
  31.  * 使用簡介:  
  32.  * $p = new ShowPage(根据?($DB), 表名字, 分頁條數, 具体sql語句(可選));     //建立新對象  
  33.  * $p->SetPageVar(pagecount);   //設置翻頁的標示,默認是’p’  
  34.  * $pVar = $p->GetPageVar();    //返回當前PageVar  
  35.  * $p->GetTotalPageArray();     //生成下拉菜單  
  36.  * $p->GetTotalPage();          //返回總頁數  
  37.  * $p->GetLeftSide();           //返回向左的箭頭  
  38.  * $p->GetRightSide();          //返回向右的箭頭  
  39.  * $p->GetCurrentPage();        //返回當前頁面  
  40.  * $p->GetLimit();              //返回每頁顯示條數            
  41.  * $p->GetRowFrom();            //返回Select語句用的當前Row的位置    E.G."SELECT * FROM SupplierLogin LIMIT " . $p->GetRowFrom() . ", " . $p->GetLimit();  
  42.  * $p->SetVar();                //設置同時需要傳送的參數  
  43.  */  
  44. class ShowPage   
  45. {   
  46.     /**  
  47.      * 左翻頁  
  48.      * @var string  
  49.      */  
  50.     var $outputLeftSide;   
  51.        
  52.     /**  
  53.      * 右翻頁  
  54.      * @var string  
  55.      */  
  56.     var $outputRightSide;   
  57.     var $file;   
  58.        
  59.     /**  
  60.      * 翻頁參數  
  61.      * @var string  
  62.      */  
  63.   
  64.        
  65.     /**  
  66.      * 當前頁  
  67.      * @var int  
  68.      */  
  69.     var $curr;   
  70.     var $varstr;   
  71.     var $tPage;   
  72.        
  73.     /**  
  74.      * 數據庫對象  
  75.      * @var DB  
  76.      */  
  77.     var $DB;   
  78.        
  79.     /**  
  80.      * 數據庫表名  
  81.      * @var string  
  82.      */  
  83.     var $table;   
  84.        
  85.     /**  
  86.      * 每頁顯示的數據條數  
  87.      * @var string  
  88.      */  
  89.     var $limit;   
  90.        
  91.     /**  
  92.      * SQL語句  
  93.      * @var string  
  94.      */  
  95.     var $sqlQuery;   
  96.     var $tPageArray;   
  97.     var $total;   
  98.     var $tRow;   
  99.     var $target = ‘_self’;   
  100.     var $maxPage = 0;   
  101.     /**  
  102.     * Paging style "option" or "listing"  
  103.     */  
  104.     var $style = "listing";   
  105.   
  106.     function ShowPage($DB$maxpage=0, $limit$sqlQuery = ""$pVar=‘p’) {       
  107.         $this->DB       = $DB;   
  108.         $this->table    = $table;   
  109.         $this->limit    = $limit;   
  110.         $this->sqlQuery = $sqlQuery;   
  111.            
  112.         $this->maxPage = ($maxpage>0)?$maxpage:0;   
  113.         $tmpGET = $_GET;   
  114.         $this->pVar = $pVar;   
  115.         //$this->pVar2 = $pVar;   
  116.         //echo $pVar;   
  117.         unset($tmpGET[$this->pVar]);   
  118.         $this->setVar($tmpGET);   
  119.   
  120.   
  121.         $tmpQuery = $sqlQuery;   
  122.   
  123.         //adodb hack start   
  124.   
  125.         if(DB_DRIVER == ‘pdo’)   
  126.         {   
  127.             $rs = $DB->query($tmpQuery);   
  128.             $rs = $DB->query("SELECT FOUND_ROWS()");   
  129.             $tPage = $rs->fetchColumn();   
  130.         }   
  131.         else  
  132.         {   
  133.             $rs = $DB->execute($tmpQueryor die(print_r($DB->ErrorInfo()));   
  134.             $tPage = $rs->RecordCount();   
  135.         }   
  136.         $this->tRow = $tPage;   
  137.   
  138.         $this->tPage = ($this->maxPage>0)?$this->maxPage:ceil($tPage / $this->limit);   
  139.         if ($this->tPage > 0)   
  140.         {   
  141.             for ($i = 1; $i < $this->tPage + 1; $i++)   
  142.             {   
  143.                 $this->tPageArray[] = $i;   
  144.             }   
  145.         }   
  146.         else  
  147.         {   
  148.             $this->tPageArray[] = 0;   
  149.         }   
  150.     }   
  151.   
  152.   
  153.     /**  
  154.      * 設置翻頁參數  
  155.      * @param string $pvar  翻頁參數  
  156.      */  
  157.     function SetPageVar($pvar = ‘p’)   
  158.     {       
  159.         // set type turnpage parameter (E.G. http://www.aa.com/index.php?p=1)   
  160.         $this->pVar = $pvar;   
  161.     }   
  162.   
  163.     /**  
  164.      * 返回總行數  
  165.      * @return  int  
  166.      */  
  167.   
  168.     function GetTotalRow()   
  169.     {   
  170.         return $this->tRow;   
  171.     }   
  172.   
  173.   
  174.     /**  
  175.      * 返回翻頁參數  
  176.      * @return string  
  177.      */  
  178.     function GetPageVar()   
  179.     {   
  180.         return $this->pVar;   
  181.     }   
  182.   
  183.   
  184.     /**  
  185.      * 返回當前頁數  
  186.      * @return int  
  187.      */  
  188.     function GetCurrentPage()   
  189.     {   
  190.         //echo $this->pVar;   
  191.         return  $_GET[$this->pVar];   
  192.     }   
  193.   
  194.   
  195.     /**  
  196.      * 返回總頁數數組  
  197.      * @return array  
  198.      */  
  199.     function GetTotalPageArray()   
  200.     {   
  201.         return $this->tPageArray;   
  202.     }   
  203.   
  204.   
  205.     /**  
  206.      * 返回總頁數  
  207.      * @return int  
  208.      */  
  209.     function GetTotalPage()   
  210.     {   
  211.         return $this->tPage;   
  212.     }   
  213.   
  214.   
  215.     /**  
  216.      * 返回每頁顯示條數  
  217.      * @return int  
  218.      */  
  219.     function GetLimit()   
  220.     {      
  221.         return $this->limit;   
  222.     }   
  223.   
  224.     /**  
  225.      * 返回數據行數  
  226.      * @return  int  
  227.      */  
  228.     function GetRowFrom()   
  229.     {   
  230.         if ($this->GetCurrentPage() <= 1)   
  231.         {   
  232.             return 0;   
  233.         }   
  234.         else  
  235.         {   
  236.             return ($this->GetCurrentPage() – 1) * $this->GetLimit();   
  237.         }   
  238.     }   
  239.   
  240.   
  241.     /**  
  242.      * 返回朝左翻  
  243.      * @return  string  
  244.      */  
  245.     function GetLeftSide()   
  246.     {   
  247.         $current = $_GET[$this->pVar];   
  248.            
  249.            
  250.         if (!$current)   
  251.         {   
  252.             $current = 1;   
  253.         }   
  254.   
  255.         if ($current<1)   
  256.         {   
  257.             $current = 1;   
  258.         }   
  259.   
  260.         if ($current>$this->tPage)   
  261.         {   
  262.             $current = $this->tPage;   
  263.         }   
  264.   
  265.         if ($this->tPage > 1)   
  266.         {   
  267.             $this->outputLeftSide = ;   
  268.             if ($current > 10)   
  269.             {   
  270.                 $this->outputLeftSide = ‘<a href=’.$this->file.‘?’.$this->pVar.‘=1’.($this->varstr).‘ title="First Page" class="p_num" target=’.$this->target.‘>|<</a> ‘;   
  271.             }   
  272.             if ($current > 1)   
  273.             {   
  274.                 $this->outputLeftSide .= ‘<a href=’.$this->file.‘?’.$this->pVar.‘=’.($current-1).($this->varstr).‘ title="Previous Page" class="p_num" target=’.$this->target.‘>上一页</a> ‘;   
  275.             }   
  276.         }   
  277.            
  278.         return str_replace(‘"’, "‘", $this->outputLeftSide);  
  279.     }  
  280.  
  281.       
  282.     /**  
  283.      * 返回朝右翻  
  284.      * @return  string  
  285.      */  
  286.     function GetRightSide() {  
  287.         $current = $_GET[$this->pVar];  
  288.  
  289.         if (!$current) {  
  290.             $current = 1;  
  291.         }  
  292.  
  293.         if ($current>$this->tPage) {  
  294.             $current = $this->tPage;  
  295.         }  
  296.  
  297.         if ($current<1) {  
  298.             $current = 1;  
  299.         }  
  300.  
  301.         if ($this->tPage > 1) {       
  302.             $this->outputRightSide = ‘‘;  
  303.             if ($current<$this->tPage) {  
  304.                 $this->outputRightSide = ‘<a href=‘.$this->file.’?‘.$this->pVar.’=‘.($current+1).($this->varstr).’ title="Next Page" class="p_num" target="‘.$this->target.’">下一页</a> ‘;  
  305.             }  
  306.             if ($this->tPage>10 && ($this->tPage-$current)>=10 ) {  
  307.                 $this->outputRightSide .= ‘<a href=’.$this->file.’?’.$this->pVar.’=’.$this->tPage.($this->varstr).’ title="Last Page" class="p_num" target="‘.$this->target.’">>|</a>’;  
  308.             }  
  309.         }  
  310.           
  311.         return str_replace(‘"‘, "’", $this->outputRightSide);   
  312.     }   
  313.   
  314.        
  315.     /**  
  316.      * 返回一個完整的翻頁選項  
  317.      * 包含了向左翻(<< <), 直接選擇頁面數字, 向右翻(> >>), 和所需要的Javascript  
  318.      * @return string  
  319.      */  
  320.     function GetFullSide() {   
  321.            
  322.         if($this->style == "options")   
  323.         {   
  324.             $sCenter = "<select onChange=’fnJump(this.value)’ name=’select’>\n";   
  325.             $pages = $this->GetTotalPageArray();   
  326.             foreach($pages as $page) {   
  327.                 $selected = "";   
  328.                 if($page == $this->GetCurrentPage())$selected = "selected";   
  329.                 $sCenter .= "   <option value=\"$page\" $selected>$page</option>\n";   
  330.             }   
  331.             $sCenter .= "</select>\n";   
  332.             $sScript = $this->GetTurnPageScript();   
  333.         }   
  334.         else  
  335.         {   
  336.             $sCenter = "";   
  337.             $pages = $this->GetTotalPageArray();   
  338.             foreach($pages as $page) {   
  339.                 if($this->GetCurrentPage()-$page>=4)continue;   
  340.                 if($page >= $this->GetCurrentPage()+4)break;   
  341.                 $sCenter .= "<a href=\"".$_SERVER[‘PHP_SELF’]."?".$this->GetPageVar()."=$page"."&".($this->varstr). "\" class=’p_num’ target=’$this->target’>";   
  342.                 if($page == $this->GetCurrentPage())   
  343.                 {   
  344.                     $sCenter .= "<strong>".$page."</strong>";   
  345.                 }else $sCenter .= $page;   
  346.                 $sCenter .= "</a>\n";   
  347.             }   
  348.             $sScript = "";   
  349.         }   
  350.         $sLeftSide = $this->GetLeftSide();   
  351.         $sRightSide = $this->GetRightSide();   
  352.         return ($sLeftSide ."\n"$sCenter ."\n"$sRightSide ."\n"$sScript);   
  353.     } // end func   
  354.   
  355.        
  356.     /**  
  357.      * 返回Sql語句  
  358.      * @return string  
  359.      */  
  360.     function GetNewSql() {   
  361.         return $this->sqlQuery . " LIMIT " . $this->GetRowFrom() . ", " . $this->GetLimit();   
  362.     } // end func   
  363.   
  364.        
  365.     /**  
  366.      * 返回翻頁時所需的Javascript  
  367.      * @return string  
  368.      */  
  369.     function GetTurnPageScript() {   
  370.         return  "<SCRIPT LANGUAGE=\"JavaScript\">\n" .    
  371.                 "<!–\n" .    
  372.                 "function fnJump(page)\n" .    
  373.                 "{\n" .   
  374.                 "location.href=’".$_SERVER[‘PHP_SELF‘]."?" . $this->GetPageVar() ."=’+page" . "+’".($this->varstr) . "’;\n" .    
  375.                 "}\n" .    
  376.                 "//–>\n" .    
  377.                 "</SCRIPT>\n";   
  378.     } // end func   
  379.   
  380.        
  381.     /**  
  382.      * 設置其它參數  
  383.      * 設置翻頁時需要通過用GET方法一同傳送過去的其他參數  
  384.      * @param  array $data  
  385.      */  
  386.     function setVar($data) {       
  387.         // set the turnpage addition value need to transfer by get mode   
  388.         foreach ($data as $k=>$v) {   
  389.             $this->varstr.=‘&’.$k.‘=’.urlencode($v);   
  390.         }   
  391.     }   
  392.   
  393.   
  394. }   
  395.   
  396.   
  397.   
  398.   
  399.   
  400. class ajax_ShowPage extends ShowPage   
  401. {   
  402.     var $func;   
  403.     var $currentpage;   
  404.     function ajax_ShowPage($DB$table$limit$sqlQuery = ""$function=‘ShowPage([page])’$currentpage$target=)   
  405.     {   
  406.         $this->ShowPage($DB$table$limit$sqlQuery);   
  407.         $this->func = $function;   
  408.         $this->currentpage = ($currentpage)?$currentpage:1;   
  409.         $this->target = $target;   
  410.     }   
  411.   
  412.   
  413.     function ajaxGetCurrentPage()   
  414.     {   
  415.         return $this->currentpage;   
  416.     }   
  417.   
  418.   
  419.     function ajaxGetRowFrom()   
  420.     {   
  421.         if ($this->ajaxGetCurrentPage() <= 1) {   
  422.             return 0;   
  423.         }   
  424.         else {   
  425.             return ($this->ajaxGetCurrentPage() – 1) * $this->GetLimit();   
  426.         }   
  427.     }   
  428.   
  429.        
  430.   
  431.     function ajaxGetNewSql()   
  432.     {   
  433.         return $this->sqlQuery . " LIMIT " . $this->ajaxGetRowFrom() . ", " . $this->GetLimit();   
  434.     }   
  435.   
  436.     function ajaxLeftSide() {   
  437.         $current = $this->currentpage;   
  438.         //echo $current ;   
  439.            
  440.         if (!$current) {   
  441.             $current = 1;   
  442.         }   
  443.   
  444.         if ($current<1) {   
  445.             $current = 1;   
  446.         }   
  447.   
  448.         if ($current>$this->tPage) {   
  449.             $current = $this->tPage;   
  450.         }   
  451.   
  452.         if ($this->tPage > 0) {               
  453.             //if ($current > 10) {   
  454.                 $this->outputLeftSide = ‘<a href="JavaScript:’.$this->func."(‘1’)".’"  title="" class="p_num" target="_self">第一页</a> ‘;   
  455.             //}   
  456.             if ($current > 1) {   
  457.                 $this->outputLeftSide.= ‘<a href="JavaScript:’.$this->func."(".($current-1).")".’" title="" class="p_num" target="_self">上一页</a> ‘;   
  458.             }else{   
  459.                 $this->outputLeftSide.= ‘<a href="JavaScript:’.$this->func."(".($current).")".’" title="" class="p_num" target="_self">上一页</a> ‘;   
  460.             }   
  461.         }   
  462.            
  463.         return $this->outputLeftSide;   
  464.     }   
  465.   
  466.   
  467.     function ajaxRightSide() {   
  468.         $current = $this->currentpage;   
  469.            
  470.         if (!$current) {   
  471.             $current = 1;   
  472.         }   
  473.   
  474.         if ($current<1) {   
  475.             $current = 1;   
  476.         }   
  477.   
  478.         if ($current>$this->tPage) {   
  479.             $current = $this->tPage;   
  480.         }   
  481.   
  482.         if ($this->tPage > 0) {               
  483.             if ($current<$this->tPage) {   
  484.                 $this->outputRightSide = ‘<a href="JavaScript:’.$this->func.‘(\”.($current+1).‘\’)" title="Next Page" class="p_num" target="_self">下一页</a> ‘;   
  485.             }else{   
  486.                 $this->outputRightSide = ‘<a href="JavaScript:’.$this->func.‘(\”.($current).‘\’)" title="Next Page" class="p_num" target="_self">下一页</a> ‘;   
  487.             }   
  488.            // if ($this->tPage>10 && ($this->tPage-$current)>=10 ) {   
  489.                 $this->outputRightSide .= ‘<a href="JavaScript:’.$this->func.‘(\”.$this->tPage.‘\’)"  title="Next 10 Page" class="p_num" target="_self">最后</a>’;   
  490.             //}   
  491.         }   
  492.            
  493.         return $this->outputRightSide;   
  494.     }   
  495.        
  496.        
  497.     function ajaxGetFullSide() {   
  498.         $sLeftSide = $this->ajaxLeftSide();   
  499.         $sRightSide = $this->ajaxRightSide();   
  500.         if($this->style == "options")   
  501.         {   
  502.             $sCenter = "<select onChange=’fnJump(this.value)’ name=’select’>\n";   
  503.             $pages = $this->GetTotalPageArray();   
  504.             foreach($pages as $page) {   
  505.                 $selected = "";   
  506.                 if($page == $this->ajaxGetCurrentPage())$selected = "selected";   
  507.                 $sCenter .= "   <option value=\"$page\" $selected>$page</option>\n";   
  508.             }   
  509.             $sCenter .= "</select>\n";   
  510.             $sScript = $this->ajaxGetTurnPageScript();   
  511.         }   
  512.         else  
  513.         {   
  514.             $sCenter = "";   
  515.             $pages = $this->GetTotalPageArray();   
  516.             foreach($pages as $page) {   
  517.                 if($this->currentpage-$page>=5)continue;   
  518.                 if($page >= $this->currentpage+5&$this->tPage-$page>2)continue;   
  519.                 $sCenter .= ‘<a href="JavaScript:’.$this->func."(‘".$page."’)".’" class="p_num" target="_self">’;   
  520.                 //echo $this->GetCurrentPage();   
  521.                 if($page ==$this->currentpage)   
  522.                 {   
  523.                     $sCenter .= "<strong><font color=red>".$page."</font></strong>";   
  524.                 }else $sCenter .= $page;   
  525.                 $sCenter .= "</a>\n";   
  526.             }   
  527.             $sScript = "";   
  528.         }   
  529.         return ($sLeftSide ."\n"$sCenter ."\n"$sRightSide ."\n"$sScript);   
  530.     }    
  531.   
  532.   
  533.   
  534.     function ajaxGetTurnPageScript()   
  535.     {   
  536.         return  "<SCRIPT LANGUAGE=\"JavaScript\">\n" .    
  537.                 "<!–\n" .    
  538.                 "function fnJump(page)\n" .    
  539.                 "{\n" .   
  540.                 "   ".$this->func."(page);\n" .    
  541.                 "}\n" .    
  542.                 "//–>\n" .    
  543.                 "</SCRIPT>\n";   
  544.     } // end func   
  545.   
  546. }   
  547. ?>  

一个pdo,session入库的类

 

PHP代码
  1. <?php   
  2. class session {   
  3.     public $lifeTime;   
  4.     private $db;   
  5.     private $table;   
  6.   
  7.     function __construct($db$table)   
  8.     {   
  9.         $this->db=$db;   
  10.         $this->table=$table;   
  11.     }   
  12.   
  13.   
  14.     function open($savePath$sessName)   
  15.     {   
  16.        $this->lifeTime = get_cfg_var("session.gc_maxlifetime");   
  17.        if(!$dbHandle || !$dbSel)return false;   
  18.        return true;   
  19.     }   
  20.   
  21.   
  22.     function close()   
  23.     {   
  24.         $this->gc(ini_get(‘session.gc_maxlifetime’));   
  25.         return ture;   
  26.     }   
  27.   
  28.   
  29.     function read($sessID)   
  30.     {   
  31.         $res = $this->db->query("SELECT session_data AS d FROM $this->table  
  32.                             WHERE session_id = ‘$sessID’  
  33.                             AND session_expires > ".time());   
  34.         if($row = $res->fetch())return $row[‘d’];   
  35.         return "";   
  36.     }   
  37.   
  38.   
  39.     function write($sessID,$sessData)   
  40.     {   
  41.         $newExp = time() + $this->lifeTime;   
  42.         $res = $this->db->query("SELECT count(*) FROM $this->table WHERE session_id = ‘$sessID’");   
  43.         if($res->fetchColumn())   
  44.         {   
  45.             $aff = $this->db->exec("UPDATE $this->table  
  46.                          SET session_expires = ‘$newExp’,  
  47.                          session_data = ‘$sessData’  
  48.                          WHERE session_id = ‘$sessID’");   
  49.             if($aff)return true;   
  50.         }   
  51.         else  
  52.         {   
  53.             $aff = $this->db->exec("INSERT INTO $this->table (  
  54.                          session_id,  
  55.                          session_expires,  
  56.                          session_data)  
  57.                          VALUES(  
  58.                          ‘$sessID’,  
  59.                          ‘$newExp’,  
  60.                          ‘$sessData’)");   
  61.             if($aff)return true;   
  62.         }   
  63.         return false;   
  64.     }   
  65.   
  66.   
  67.     function destroy($sessID)   
  68.     {   
  69.         $aff = $this->db->exec("DELETE FROM $this->table WHERE session_id = ‘$sessID’");   
  70.         if($aff)return true;   
  71.         return false;   
  72.     }   
  73.   
  74.   
  75.     function gc($sessMaxLifeTime)   
  76.     {   
  77.         $aff = $this->db->exec("DELETE FROM $this->table WHERE session_expires < ".time(),$this->dbHandle);   
  78.         return $aff;   
  79.     }   
  80. }   
  81.   
  82.   
  83. $pdo_session = new session($db1‘user_sessions’);   
  84. session_set_save_handler(array($pdo_session,"open"),   
  85.                          array($pdo_session,"close"),   
  86.                          array($pdo_session,"read"),   
  87.                          array($pdo_session,"write"),   
  88.                          array($pdo_session,"destroy"),   
  89.                          array($pdo_session,"gc"));   
  90.   
  91. ?>