本帖最后由 SLKBINBIN 于 2011-06-15 06:18:54 编辑

解决方案 »

  1.   

    汗!我还是第一次看到把页面写进数据库的。两个表就足够了。一个表A:id, admin(用户)
    另一个表B:id,adminid(用户ID),content(留言内容)
    两个表加起来有很多种查询方式。查询所有留言:select * from B倒叙查询所有留言 :select * from B order by id desc限量查询留言:select * from B limit 0,20;limit 0,20 代表查询从第一条到20条。查询某个会员的留言:select * from B where adminid='$adminid' 倒数查询:select * from B where adminid='$adminid'  order by id descorder by id desc(表示倒数)
    至于分页,根本不需要写进数据库。而是在前台用程序计算。程序思想是:1、计算有多少条留言。假设要求查询的有85条。$all=85;2、每页要展示多少条。假设为10条。$size=103、算出来 85/10,一共是9页。$allpage=9;4、计算每一页查询开始,是第几条.$start=($当前页-1)*$size.测试是不是对的。当前页是第一页的时候,$start=(1-1)&10=0,也就是从第一条开始显示。0是起点当前页是第二页时,$start=(2-1)&10=10,也就是从第11条开始查询。结合前面的限量查询:可以得出每页的数据查询是:select * from B  limit '$start','$size';啪啪啪就出来了吗,不会的搜索一下PHP分页看看。至于显示楼层,还要计算一下。用ID时不准的,也不好排序。比如这样用
    select * from B  limit '$start','$size';for($i=1;$i<=total;$i++){
    echo 内容 .$i.楼;
    }
    到此为止。最好找本入门的书 仿一下人家的分页.还有基本的知识SQL语言啊,包括
    mysql的基本功。
      

  2.   

    select * from 留言表 where 页面='1页'
    这里的一页 应该是指 你的某个html页面
    用户点击进入这个页面,就查询出来这个页面所有的留言
    根据分页的方法,实现每一页显示10条或者20条记录
    像select * from 留言表 where 页面='1页' limit 0,10之类的至于楼层的显示,可以在输出的时候再搞个变量控制一下,不一定非要用数据库的自增字段
      

  3.   

    id 留言内容 用户 页面
    1 内容1 admin show01.php
    2 内容2 admin show01.php
    3 内容3 admin show01.php
    4 内容4 admin show01.php
    5 内容1 ac show02.php
    6 内容2 ad show02.php
    ...
    设计成这样的表结构,可以实现你要的效果
      

  4.   


    我知道是这样设计,所以我在后面那个网页变量上采用了UID的字段来加以区分。字段可以简单化为ID  TEXT  NAME  IP  UID  这样
      

  5.   

    进来继续围观楼主知道什么是闭门造车不?就算造车也有大量的资料可以查阅的,不至于理解到把php页面代码保存到数据库内吧?这个是什么逻辑?把火箭的喷射器装在火车的车厢里?
    书是必须读的,看你理解了多少再开始做就不会闹这样的笑话。
    至于在这里得到多少帮助,要看你提问的智慧。
      

  6.   

    很遗憾,我已经搞定按页显示了。
    现在只剩下楼的显示了,因为以前的自增ID不能当楼来使用了,所以只能这样id 留言内容 用户 页面
    1 内容1 admin show01.php
    2 内容2 admin show01.php
    3 内容3 admin show01.php
    4 内容4 admin show01.php
    5 内容1 ac show02.php
    6 内容2 ad show02.php
      

  7.   

    页面显示是要分页吧
    select * from table limit 0,10;
    select * from table limit 11,10;
    select * from table limit 21,10;页面显示结果的时候,将0,11,21像这样的变量拿到
    在循环里累加
    这样每层楼就可以按照顺序出来了
      

  8.   

    给你一个代码示例$num = 0;
    echo "<tr><td>楼层</td><td>内容</td></tr>";
    foreach($result as $value)
    {
       echo "<tr align=center><td>".++$num."</td><td>{$value[1]}</td<tr>";
    }
      

  9.   

    那段代码是放在       
    <p><font color="#0000FF">   <?=$row[1]?> 的发言: </font>&nbsp
    <font color="#778899">
     <?=$row[3]?> </font>&nbsp&nbsp这些显示代码的前面吗?
      

  10.   

    你严重缺乏编程思想,我给你设计一下数据表你看一下,假如我的id是7.留言id     |    留言者id    |    留言内容     |楼层序号|    留言类型(0为楼主,其他值为回复)
    ---------------------------------------------------------------------------------
    46         |     9          |   大家好        |0       |    0
    ---------------------------------------------------------------------------------
    47         |     7          |   我是sibang    |0       |    0
    ---------------------------------------------------------------------------------
    48         |     11         |   对,你是sibang |1       |    47
    ---------------------------------------------------------------------------------
    49         |     7          |  你怎么知道的?  |2       |    47
    ---------------------------------------------------------------------------------
    50         |     11         |  刚听你说的     |3       |    47
    看完上边的表结构,你应该就大体明白了吧!
    假如要显示我的留言,那就
    select * from 表 wehere 留言者id=7
    此时会取得编号47这个id
    假如要显示我的留言下边所有人的回复,那就
    select * from 表 wehere 留言类型=47 order by 楼层序号 asc
      

  11.   

    稍作修改
    假如要显示我的留言,那就
    select * from 表 wehere 留言者id=7 and 留言类型=0