php留言板代码[经典的分页代码](1/4)

 更新时间:2016年11月25日 15:55  点击:1906

/*
sql数据库教程结构
-- phpMyAdmin SQL Dump
-- version 2.11.6
--
-- 主机: localhost
-- 生成日期: 2009 年 11 月 08 日 08:22
-- 服务器版本: 5.0.51
-- PHP 版本: 5.2.6

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 ;

--
-- 数据库: `myde520`
--

-- --------------------------------------------------------

--
-- 表的结构 `news`
--

CREATE TABLE `news` (
  `id` int(10) NOT NULL auto_increment,
  `title` varchar(250) character set gbk default NULL,
  `content` text character set gbk,
  `date` date default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=gb2312 AUTO_INCREMENT=9 ;

--
-- 导出表中的数据 `news`
--

INSERT INTO `news` (`id`, `title`, `content`, `date`) VALUES
(1, '看博文网址公布', '看博文网址http://www.111cn.net', '2009-11-08'),
(2, '寻宝客网址公布', '寻宝客的网址是http://www.111cn.net,希望大家常来看看', '2009-11-08'),
(3, '小贤家园网址公布', '小贤家园http://www.111cn.net', '2009-11-08'),
(4, '桂林特产网址公布', '桂林特产网址htttp://www.111cn.net', '2009-11-08'),
(5, '阳朔仙境宾馆网址公布', '阳朔仙境宾馆网址http://www.111cn.net', '2009-11-08'),
(6, '养生堂网址公布', '养生堂网址http://www.111cn.net', '2009-11-08'),
(7, '寻宝客上线25天', '寻宝客上线25天,百度和谷歌都收录过1000篇! http://www.111cn.net', '2009-11-08');

*/
//html代码

?>

这里是我们用php教程简单自主开网页访问次数计数器代码偌,是一款基于文件的图形计数器范例代码

会用到的文件用

num.txt //累计访问次数

vist.php//测试文件

count.php//统计访问次的核心程序,因为它会把文字转换成gif图片,并且输出到浏览器。

 代码如下 复制代码

<HTML>
<HEAD>
<TITLE>图形计数器范例</TITLE>
</HEAD>

<BODY>
您好,您是第<img src="ImgOutFileCount.php">位访客
</BODY>
</HTML>

count.php文件

 代码如下 复制代码

<?
Header("Content-type: image/gif");
//http头,告诉浏览器,这是一个GIF图片

$countfile = "num.txt";
//定义计数器写入的文件是当前目录下count.txt,然后我们应当测试该文件能否打开
if (($fp = fopen($countfile, "r+")) == false) { //用读写模式打开文件,若不能打开就退出
 printf ("打开文件 %s 失败!",$countfile);
 exit;
}
else
{
 //如果文件能够正常打开,就读入文件中的数据,假设是1
 $count = fread ($fp,10);
 //读取10位数据
 $count = $count + 1;

 fclose ($fp);
 //关闭当前文件
 $fp = fopen($countfile, "w+");
 //以覆盖模式打开文件
 fwrite ($fp,$count);
 //写入加1后的新数据
 fclose ($fp);
 //并关闭文件

}

//定义输出为图像类型
$n=10;
//变量$n是显示位数

 

function outPege($ps教程,$page)
{
// $ps 累计信息数 $page 当前page数 $max 列表的最大数 $min 列表的最小值
$max      = ($page >= 5)? $page+5:10;
if($max > $ps)$max =$ps;
$min      =($page-5);
if($min<1) $min =1;
if($page>1)$pagelist = "<a href="?page=1">首页</a>";
for($i=$min;$i<=$max;$i++){
  $pagelist.= ($i!=$page)? "<a href="?page={$i}">{$i}</a>":"<a href="#">{$page}</a>";
}
$pagelist.= ($page>=$ps)?'':"<a href="?page={$ps}">尾页</a>";
return $pagelist;
}

//方法二

/**
* 显示分页函数
* records总记录数,currentpage当前页数,rows每页记录数,listpage页号列表长度。
*/
function showpage ($records,$currentpage,$rows=20,$listpages=7) {
if($records<1)return '';
if($rows<1)$rows=20;
if($listpages<3)$listpages=7;
$action=$_SERVER['QUERY_STRING']; //得到地址栏中?后的内容
if($action){ //将page=...的内容去掉
$action=preg_replace("/&page[^&]*/","",$action);
$action=preg_replace("/page[^&]*&*/","",$action);
}
if($action)$action.='&';
$maxpage=ceil($records/$rows); //进一法取整得到最大页数。
$middlepage=floor($listpages/2); //舍去法取整得到要显示的页数的一半。
if($currentpage<1||$currentpage>$maxpage)$currentpage=1;
$startpage=$currentpage-$middlepage;
if($maxpage-$currentpage<=$middlepage)$startpage=$maxpage-$listpages;
if($startpage<2)$startpage=2; //开始页计算完成
$endpage=$startpage+$listpages;
if($endpage>$maxpage)$endpage=$maxpage; //结束页计算完成
if($currentpage!=1){
$pagestr="<a href='?{$action}page=1'><span>1</span></a> ";
}else{
$pagestr="<span>1</span> ";
}

我们先来分析流程

一,数据库教程,

二,数据库文件dbconn.php

三,vote.php投票页面

四,投票功能页面vote_add.php

五,查看所有投票数据viewpoll.php

现在我们来看看数据库结构

 代码如下 复制代码

drop database if exists vote;
create database vote;
use vote;

CREATE TABLE  title  (                                                                                                                                                                                                                                                                
           id  int(6) NOT NULL auto_increment,
    username  varchar(20) NOT NULL,
    email  varchar(50) NOT NULL,
           title  varchar(250) NOT NULL default '',                                                                                                                                                                                                                                           
           types  tinyint(2) NOT NULL default '1',
    choice text,
           times  datetime NOT NULL default '0000-00-00 00:00:00',                                                                                                                                                                                                                            
          primary KEY ( id )     
        );

CREATE TABLE  vote  (                                                                                                                                                                                                                                                
           id  int(6) NOT NULL auto_increment,                                                                                                                                                                                                                         
           titleid  int(6) NOT NULL default '0',                                                                                                                                                                                                                           
           info  text NOT NULL,                                                                                                                                                                                                                                              
           vcount  int(4) NOT NULL default '0',                                                                                                                                                                                                                        
          primary KEY ( id )                                                                                                                                                                                                                                             
        );
create table email (
    id int(6) not null,
    email varchar(50) not null,
    primary key ( id, email)
 );

数据库连接文件

 代码如下 复制代码

<?php
$conn=mysql_connect("localhost","phpdb","phpdb")
        or die("不能连接数据库服务器: ".mysql_error());
mysql_select_db("vote",$conn) or die ("不能选择数据库: ".mysql_error());

?>

 

json_encode和json_decode的效率并没有比serialize和unserialize的效率高,在反序列化的时候性能相差两倍左右,PHP 5.3执行效率比PHP 5.2略有提升。

 代码如下 复制代码


<?php教程
$target = array (
'name' => '全能头盔',
'quality' => 'Blue',
'ti_id' => 21302,
'is_bind' => 1,
'demand_conditions' =>
array (
'HeroLevel' => 1,
),
'quality_attr_sign' =>
array (
'HeroStrength' => 8,
'HeroAgility' => 8,
'HeroIntelligence' => 8,
),
);
$json = json_encode($target);
$seri = serialize($target);
echo "json : " . strlen($json) . " ";
echo "serialize : " . strlen($seri) . " ";
$stime = microtime(true);
for ($i = 0; $i < 10000; $i ++)
{
json_encode($target);
}
$etime = microtime(true);
echo "json_encode : " . ($etime - $stime) . " ";
//----------------------------------
$stime = microtime(true);
for ($i = 0; $i < 10000; $i ++)
{
json_decode($json);
}
$etime = microtime(true);
echo "json_decode : " . ($etime - $stime) . " ";
//----------------------------------
$stime = microtime(true);
for ($i = 0; $i < 10000; $i ++)
{
serialize($target);
}
$etime = microtime(true);
echo "serialize : " . ($etime - $stime) . " ";
//----------------------------------
$stime = microtime(true);
for ($i = 0; $i < 10000; $i ++)
{
unserialize($seri);
}
$etime = microtime(true);
echo "unserialize : " . ($etime - $stime) . " ";
echo 'DONE.';
?>

[!--infotagslink--]

相关文章

  • php KindEditor文章内分页的实例方法

    我们这里介绍php与KindEditor编辑器使用时如何利用KindEditor编辑器的分页功能实现文章内容分页,KindEditor编辑器在我们点击分页时会插入代码,我们只要以它为分切符,就...2016-11-25
  • 自己动手写的jquery分页控件(非常简单实用)

    最近接了一个项目,其中有需求要用到jquery分页控件,上网也找到了需要分页控件,各种写法各种用法,都是很复杂,最终决定自己动手写一个jquery分页控件,全当是练练手了。写的不好,还请见谅,本分页控件在chrome测试过,其他的兼容性...2015-10-30
  • 不打开网页直接查看网站的源代码

      有一种方法,可以不打开网站而直接查看到这个网站的源代码..   这样可以有效地防止误入恶意网站...   在浏览器地址栏输入:   view-source:http://...2016-09-20
  • php 调用goolge地图代码

    <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
  • JS基于Mootools实现的个性菜单效果代码

    本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
  • JS+CSS实现分类动态选择及移动功能效果代码

    本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
  • JS实现自定义简单网页软键盘效果代码

    本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
  • jquery实现的伪分页效果代码

    本文实例讲述了jquery实现的伪分页效果代码。分享给大家供大家参考,具体如下:这里介绍的jquery伪分页效果,在火狐下表现完美,IE全系列下有些问题,引入了jQuery1.7.2插件,代码里有丰富的注释,相信对学习jQuery有不小的帮助,期...2015-10-30
  • php 取除连续空格与换行代码

    php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
  • php简单用户登陆程序代码

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • PHP实现清除wordpress里恶意代码

    公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
  • JS实现双击屏幕滚动效果代码

    本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
  • js识别uc浏览器的代码

    其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
  • JS日期加减,日期运算代码

    一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08
  • PHP开发微信支付的代码分享

    微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布。必须到你通过程序测试提交订单、发货通知等数据到微信的系统中,才能申请发布。然后,因为在微信中是通过JS方式调用API,必须在微信后台设置支付授权目录,而且要到...2014-05-31
  • vue.js 表格分页ajax 异步加载数据

    Vue.js通过简洁的API提供高效的数据绑定和灵活的组件系统.这篇文章主要介绍了vue.js 表格分页ajax 异步加载数据的相关资料,需要的朋友可以参考下...2016-10-20
  • PHP常用的小程序代码段

    本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
  • node.js+express留言板功能实现示例

    本文介绍基于nodejs+express+art-template的留言板功能。包含列表界面、添加界面和发送留言功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-21
  • 几种延迟加载JS代码的方法加快网页的访问速度

    本文介绍了如何延迟javascript代码的加载,加快网页的访问速度。 当一个网站有很多js代码要加载,js代码放置的位置在一定程度上将会影像网页的加载速度,为了让我们的网页加载速度更快,本文总结了一下几个注意点...2013-10-13
  • php怎么用拼音 简单的php中文转拼音的实现代码

    小编分享了一段简单的php中文转拼音的实现代码,代码简单易懂,适合初学php的同学参考学习。 代码如下 复制代码 <?phpfunction Pinyin($_String...2017-07-06