zoukankan      html  css  js  c++  java
  • 20150401--Dede+搜索页面,评论

    image

    一、在搜索页面完成栏目的取出

    wps404A.tmp

    思路:取出的数据是顶级栏目,dede_arctype表(栏目表),条件是:父id等于0

    reid=0

    要注意:我们要取出的数据是栏目的名称和链接,但是链接信息是通过channel标签计算出来,没有存储表的字段里面,因此要分析channel标签。通过分析发现如下。

    wps405B.tmpwps405C.tmpwps408C.tmpwps409C.tmp

    wps40AD.tmp

    最后输出的代码:

    wps40BE.tmp

    把取出的栏目数据给遍历到静态页面中。

    wps414B.tmp

    二、根据电影的名称或者电影名称的关键字取出对应的电影

    wps414C.tmp

    思路:分析,是一个表单,表单提交到哪里,使用哪种方式提交。

    修改搜索的表单:

    wps415D.tmp

    在sou.php页面中,添加搜索的条件:

    wps417D.tmp

    三、完成head.htm模板页面中根据电影名称搜索。

    wps419D.tmp

    修改完成表单后,要重新生成静态页面,(主页和栏目页面和内容详情页面的模板)

    四、在栏目页面中,根据年代进行搜索,跳转到搜索页面。

    wps419E.tmp

    思路:把年代的信息给取出来,遍历到栏目页面中,要给每一个年代添加链接,链接到搜索页面。

    如何写 sql语句,完成年代内容的输出。

    select distinct niandai from dede_addonmovie order by niandai;

    wps41AF.tmp

    修改完成后,要重新生成静态页面

    五、完成评论页面的创建

    1、把模板中“所有评论页.html”页面 拷贝a67目录下面,并改名为pinglun.htm页面,

    并修改里面的 样式和图片的路径。

    2、在plus目录下面新建一个pinglun.php的页面,

    3、修改内容详情页面的模板文件,给“我要评论”按钮添加链接。

    wps41DF.tmp

    代码如下:

    wps41F0.tmp

    4、在pinglun.php页面完成评论的准备工作;

    (1)根据接收的aid取出电影详情内容

    wps4210.tmp

    (2)把取出的数据给遍历到静态页面。

    wps4220.tmp

    5、会员模块的开启,

    会员模块在默认情况下,是关闭的。需要后台开启

    wps4231.tmp

    进入后台,开启会员功能

    wps4271.tmp

    再次进行会员模块,完成一个用户的注册,

    wps4281.tmp

    管理员进入后台,让注册的用户处于正常使用状态。

    wps4292.tmpwps4293.tmpwps42C3.tmp

    单击修改后,在资料状况部分改为正常使用状态。

    wps42F3.tmp

    6、完成评论的建表工作:

    create table dede_pinglun(

        id  smallint  primary key auto_increment,

        title varchar(32) not null comment '评论的标题',

        content varchar(256) not null comment '评论的内容',

        movie_id int not null comment '评论电影的id',

        user_id smallint not null comment '评论用户的id',

        add_time int not null comment '评论的时间'

    );

    7、在pinglun.htm页面中,完成评论提交

    (1)引入jquery.js

    (2)修改提交的表单:

    wps4303.tmp

    (3)按钮绑定事件:

    wps4372.tmp

    (4)添加评论的php代码:

    wps4382.tmp

    8、在评论页面,如果用户没有登录,则评论标题和评论内容,和提交按钮处于禁用状态,

    如果用户登录,则显示登录的用户。

    思路:验证用户是否登录。

    在加载评论页面时,就触发验证用户是否登陆:

    通过查询会员的表,发现userid字段记录用户的名称

    wps4393.tmp

    取出是用户的名称是:memberlogin.class.php类里面的M_LoginID属性

    wps4401.tmp

    在pignlun.html页面中的代码:如下:

    $.ajax({

                type:'get',

               // dataType:'json',

                url:'<?php echo $cfg_plus_dir;?>/pinglun.php?act=islogin',

                success:function(msg){

                    //如果用户没有登录,则返回

                    if(msg==-1){

                            //表示用户没有登录。

                            //如果用户没有登录,则让评论的输入框变成禁用状态,

                            $('input[name=title]').attr('disabled','disabled');

                            $("textarea[name=content]").attr('disabled','disabled');

                            $("#submitbutton1").attr('disabled','disabled');

                            var str = '<a href="http://www.itdede.com/member/login.php" target="_blank">登录</a> | <a href="http://www.itdede.com/member/index_do.php?fmdo=user&dopost=regnew" target="_blank">注册</a>';                       

                            $("#islogin").html(str);

                    }else{

                           //

                        var str = '用户名称:'+msg+' |<a href="http://www.itdede.com/member/index_do.php?fmdo=login&dopost=exit#" target="_blank">退出</a>';                       

                            $("#islogin").html(str);

                    }

                }

          });

    在pinglun.php页面中的代码:

    wps44BE.tmp

    二、完成在评论页面,取出对当前电影的评论

    wps45C8.tmp

    思路:取出数据有评论用户的login,评论用户的名称,评论的标题和评论的内容。

    确定sql的如何写:

    通过分析用户表里面,用户的名称是userid字段,用户的头像是face字段。

    查询的表:dede_pinglun表和 dede_member表,两张表的关系是评论表的user_id和会员表单mid相关联。

    select a.title,a.content,b.userid,b.face from dede_pinglun a left join dede_member b on a.user_id=b.mid where a.movie_id=$movie_id  order by id desc

    wps4617.tmp

    把取出的评论添加 到静态页面中来。

    wps4628.tmp

    修改一下提交评论的ajax

    wps4629.tmpwps463A.tmpwps4679.tmp

    三、对电影的评论页面进行优化,

    原因:取出电影时我们查询了数据库,在并发量比较大的情况下,会给服务器带来一定的压力。需要一定的优化。

    优化的目标:就是少查询数据库。

    采用的方式:把发布评论的页面做成一个静态页面。

    在plus目录下面新建一个目录(cache),用于存储生成的静态页面。

    wps468A.tmp

    wps469A.tmp

    四、在电影的内容详情页面中,取出当前电影的评论:

    思路:使用ajax来完成。

    (1)在内容详情页面中,添加 ajax取出数据的代码:

    wps4747.tmp

    (2)在plus目录下面新建一个getpinglun.php的页面。

    wps4758.tmp

    wps4769.tmp

    require (DEDEINC.’/arc.archives.class.php’)

    $arc = new Archives($movie_id);

    $arc->ParAddTable();

    $arc>Fields[‘title’]

    require DEDEINC.’/memberlogin.class.php’

    $mem=new MemberLogin();

    $userid = $mem->M_ID;

  • 相关阅读:
    171. Excel Sheet Column Number (Easy)
    349. Intersection of Two Arrays (Easy)
    453. Minimum Moves to Equal Array Elements (Easy)
    657. Judge Route Circle (Easy)
    CSS笔记
    保存页面状态
    UI开发总结
    ubuntu 下配置munin
    反向代理配置
    JavaScript 高级程序设计第二版
  • 原文地址:https://www.cnblogs.com/lifushan/p/5471821.html
Copyright © 2011-2022 走看看