PHP+MYSQL带注册登录的留言板制作例子

2019-09-30 作者:网络时代   |   浏览(80)

    显示效果如下图:

function _pageft($totle, $displaypg = 20, $url = '') {

图片 1

  global $page, $firstcount, $pagenav, $_server;

图片 2

  $globals["displaypg"] = $displaypg;

图片 3

  if (!$page)
   $page = 1;
  if (!$url) {
   $url = $_server["request_uri"];
  }

图片 4

  //url分析:
  $parse_url = parse_url($url);
  $url_query = $parse_url["query"]; //单独取出url的查询字串
  if ($url_query) {
   $url_query = ereg_replace("(^|&)page=$page", "", $url_query);
   $url = str_replace($parse_url["query"], $url_query, $url);
   if ($url_query)
    $url .= "&page";
   else
    $url .= "page";
  } else {
   $url .= "?page";
  }
  $lastpg = ceil($totle / $displaypg); //最后页,也是总页数
  $page = min($lastpg, $page);
  $prepg = $page -1; //上一页
  $nextpg = ($page == $lastpg ? 0 : $page +1); //下一页
  $firstcount = ($page -1) * $displaypg;

1、导入MYSQL数据

  //开始分页导航条代码:
  $pagenav = "显示第 <b>" . ($totle ? ($firstcount +1) : 0) . "</b>-<b>" . min($firstcount + $displaypg, $totle) . "</b> 条记录,共 $totle 条记录";

    将如下SQL语句导入库,假定库名称为bbs,这里保证库与表字段的编码都为UTF-8模式

 

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

 

    CREATE TABLE `message` (

  //如果只有一页则跳出函数:
  if ($lastpg <= 1)
   return false;

     `id` tinyint(1) NOT NULL auto_increment,

  $pagenav .= " <a href='$url=1'>首页</a> ";
  if ($prepg)
   $pagenav .= " <a href='$url=$prepg'>前页</a> ";
  else
   $pagenav .= " 前页 ";
  if ($nextpg)
   $pagenav .= " <a href='$url=$nextpg'>后页</a> ";
  else
   $pagenav .= " 后页 ";
  $pagenav .= " <a href='$url=$lastpg'>尾页</a> ";

     `user` varchar(25) NOT NULL,

  //下拉跳转列表,循环列出所有页码:
  $pagenav .= " 到第 <select name='topage' size='1' onchange='window.location="$url="+this.value'> ";
  for ($i = 1; $i <= $lastpg; $i++) {
   if ($i == $page)
    $pagenav .= "<option value='$i' selected>$i</option> ";
   else
    $pagenav .= "<option value='$i'>$i</option> ";
  }
  $pagenav .= "</select> 页,共 $lastpg 页";
 }

     `title` varchar(50) NOT NULL,

include("conn.php");

     `content` tinytext NOT NULL,

$result=mysql教程_query("select * from `test`");
$total=mysql_num_rows($result);
//调用pageft(),每页显示10条信息(使用默认的20时,可以省略此参数),使用本页url(默认,所以省略掉)。
_pageft($total,5);
echo $pagenav;

     `lastdate` date NOT NULL,

$result=mysql_query("select * from `test` limit $firstcount,$displaypg ");
while($row=mysql_fetch_array($result)){

     PRIMARY KEY  (`id`)

echo "<hr><b>".$row[name]." | ".$row[sex];

    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

}

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

//比较简单分页代码

2、部分PHP代码

/*分页函数
by 酒鬼 2009年2月21日凌晨2:10
$num:总共多少篇
$p:当前页码
$str:地址url参数(问号后面的东西)
$pn:每页显示数量
$q:当前搜索的内容
{fl($num,$p,$q,$pn)}
*/
function fy($num,$p,$str='?mod=zzwla&dosubmit=1',$pn=10,$q='')
{
        if(empty($num)) return false;
    $ps教程=ceil($num/$pn);
    $q = $q ? '&q='.urlencode($q) : '';
    echo '<tr>';
    if($p>1)
        echo '<td class="page"><a href="'.$str.$q.'&p='.($p-1).'"> 上一页 </a></td>';
    if($p>0)
    {
            for($i=$p-14;$i<$p+14;++$i)
            {
                    if($i>0 && $i<=$ps)
                echo '<td class="'.($i==$p ? ('page pc"> '.$i.' '):('page"><a href="'.$str.$q.'&p='.$i.'"> '.$i.' </a>')).'</td>';
            }
    }
    if($p!=$ps)
        echo '<td class="page"><a href="'.$str.$q.'&p='.($p+1).'"> 下一页 </a></td>';
    echo '</tr>';
}

add.php

 

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

 

    <?

//分页代码三十

    //加载conn.php文件

php分页代码

    ("conn.php");

<?php
include "conn.inc";
//没页显示记录数
$pagesize = 10;
$startrow = 0;   //开始显示记录的编号
//获取需要显示的页数,由用户提交
if(empty($_get['pageno'])){   //如果为空,则表示第1页
     if($startrow == 0){
         $pageno = $startrow + 1;   //设定为1
     }
}else{
     $pageno = $_get['pageno'];   //获得用户提交的页数
     $startrow = ($pageno - 1) * $pagesize;   //获得开始显示的记录编号
}

    //加载head.php文件

//因为显示页码的数量是动态变化的
//假如总共有一百页,则不可能同时显示100个链接
//而是根据当前的页数显示一定数量的页面链接
//设置显示页码的初始值
if($pageno % $pagesize == 0){
     $counterstart = $pageno - ($pagesize - 1);
}else{
     $counterstart = $pageno - ($pageno % $pagesize) + 1;
}

    include("head.php");

//显示页码的最大值
$counterend = $counterstart + ($pagesize - 1);
?>

    //提交表单到

<html>
<head>
<title>分页显示记录</title>
<link rel="stylesheet" href="images/style.css教程" type="text/css">
</head>
<?php

    if($_POST['submit']){

$trecord = mysql_query("select * from news");
$result = mysql_query("select title,addtime,id from news order by   id desc limit $startrow,$pagesize");

      $sql = "insert into message(id,user,title,content,lastdate) " .

//获取总记录数
$recordcount = mysql_num_rows($trecord);

             "values('','$_POST[user]','$_POST[title]','$_POST[content]',now())";

//获取总页数
$maxpage = $recordcount % $pagesize;
if($recordcount % $pagesize == 0){
     $maxpage = $recordcount / $pagesize;
}else{
     $maxpage = ceil($recordcount / $pagesize);
}
?>
<body class="usepagebg">
<table width="100%" border="0" class="internalheader">
   <tr>
     <td width="24%"><font size=4>分页显示记录</font></td>
     <td width="76%">
    
         <font size=4><?php print "总共$recordcount record(s) 条记录   - 当前页: $pageno   of $maxpage" ?></font>
     </td>
   </tr>
</table>
<br>
<table width="100%" border="0" class="normaltabletwo">
   <tr>
     <td width="19%" class="internalheader">记录序号</td>
     <td width="25%" class="internalheader" >文章标题</td>
     <td width="22%" class="internalheader" >所属类别</td>
     <td width="34%" class="internalheader" >修改</td>
   </tr>
<?php
$i = 1;
while($row = mysql_fetch_array($result, mysql_num)) {
     $bil = $i + ($pageno-1)*$pagesize;
$lei=$row[2]
?>
   <tr>
     <td class="normalfieldtwo" ><?php echo $bil ?></td>
     <td class="normalfieldtwo" ><?php echo $row[0] ?></td>
     <td class="normalfieldtwo" >
<?php
$sql2="select * from class where id=$lei";
$result2=mysql_query($sql2,$conn);
$row=mysql_fetch_array($result2);
$classname=$row['classname'];
      mysql_free_result($result2);
?>
<?php echo $classname ?></td>
     <td class="normalfieldtwo" >修改 删除</td>
   </tr>
<?php
   $i++;
}?>
</table>
<br>
<table width="100%" border="0" class="internalheader">
   <tr>
     <td>

      mysql_query($sql);

       <div align="center">
       <?php
    echo "<font size=4>";
         //显示第一页或者前一页的链接
   //如果当前页不是第1页,则显示第一页和前一页的链接
         if($pageno != 1){
             $prevstart = $pageno - 1;
             print "<a href=wen.php?pageno=1>first </a>: ";
             print "<a href=wen.php?pageno=$prevstart>previous </a>";
         }   

      echo "<script language="">alert('添加成功');history.go(-1)</script>";

   print " [ ";
         $c = 0;

    }  www.111Cn.neT

  

    ?>

 

    <!--利用JS对表单输入进行字符限制-->

  
         //打印需要显示的页码
         for($c=$counterstart;$c<=$counterend;$c++){
             if($c < $maxpage){
                 if($c == $pageno){
                     if($c % $pagesize == 0){
                         print "$c ";
                     }else{
                         print "$c ,";
                     }
                 }elseif($c % $pagesize == 0){
                     echo "<a href=wen.php?pageno=$c>$c</a> ";
                 }else{
                     echo "<a href=wen.php?pageno=$c>$c</a> ,";
                 }//end if
             }else{
                 if($pageno == $maxpage){
                     print "$c ";
                     break;
                 }else{
                     echo "<a href=wen.php?pageno=$c>$c</a> ";
                     break;
                 }//end if
             }//end if
        }//next

    <SCRIPT language=javascript>

 

       function CheckPost() {

       echo "] ";

           if (myform.user.value==""){

  

               alert("请填写用户名");

       if($pageno < $maxpage){   //如果当前页不是最后一页,则显示下一页链接
           $nextpage = $pageno + 1;
           echo "<a href=wen.php?pageno=$nextpage>next</a>";
       }
     
       //同时如果当前页补上最后一页,要显示最有一页的链接
       if($pageno < $maxpage){
        $lastrec = $recordcount % $pagesize;
         if($lastrec == 0){

               myform.user.focus();

             $laststartrecord = $recordcount - $pagesize;
         }
         else{
             $laststartrecord = $recordcount - $lastrec;
         }

               return false;

         print " : ";
         echo "<a href=wen.php?pageno=$maxpage>last</a>";
         }
   echo "</font>";
       ?>
       </div>
     </td>
   </tr>
</table>
<?php
     mysql_free_result($result);
     mysql_free_result($trecord);
?>
</body>
</html>

           }

           if (myform.title.value.length<5){

               alert("标题不能少于5个字符");

               myform.title.focus();

               return false;

           }

           if (myform.content.value==""){

               alert("必须要填写留言内容");

               myform.content.focus();

               return false;

           }

    }

    </SCRIPT>

    <!--HTML表单结构-->

    <form action="add.php" method="post" name="myform" onsubmit="return CheckPost();">

    用户: <input type="text" size="10" name="user"/><br>    

    标题: <input type="text" name="title" value="value" size="40" maxlength="40"/><br>

    内容: < name="content"></textarea><br/>

    <input type='submit' name='submit' value="发布留言"/>

    </form>

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

head.php

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

    <!--HTML头导航链接-->

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    <title></title>

    <link href='#'" /css.css" rel="stylesheet" type="text/css">

    <b><a href='#'" /a> | <a href="list.php">浏览留言</a> | <a href="login.php">登陆</a></b>

    <hr size="1">

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

list.php

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

    <?

    //加载conn.php文件

    include("conn.php");

    //加载head.php文件

    include("head.php");

    //设置值为5

    $pagesize=5;

    //取得除域名外后面完整的地址路径

    $url=$_SERVER["REQUEST_URI"];

    //取得该固定键值[path][query]的url数组

    $url=parse_url($url);

    //print_r($url);

    //取得url的[path]路径值

    $url=$url[path];

    //取得test表信息

    $numq =  mysql_query(" * from message");

    //取得test表内容的行数

    $num = mysql_num_rows($numq);

    //判断是否能取到page参数值

    if($_GET[page]){

       //将该值传给pageval

       $pageval=$_GET[page];

       //计算page值,供SQL语句使用

       $page=($pageval-1)*$pagesize;

       //等价于 $page = $page.',' 意思就是将page参数值与,连接起来

       $page.=",";

    }

    //判断条目总数大于页数,显示分页

    if($num > $pagesize){

       //判断上一页和下一页的值若小于0,则按照0处理

本文由澳门新葡亰网址大全发布于网络时代,转载请注明出处:PHP+MYSQL带注册登录的留言板制作例子

关键词: