- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
本节主要内容新闻访问量的统计新闻点赞功能了解AJAX技术以及AJAX技术在PHP中的使用
新闻访问量统计和新闻点赞当用户(注册用户或游客均可)浏览新闻列表时,可以查看新闻的详情,每次查看新闻详情都增加一次新闻的访问量,同时需要更新新闻的访问量。如果用户特别喜欢新闻的话,可以对本条新闻进行点赞操作
统计并显示新闻的访问量设计思路在新闻详情网页中,进入网页的时候根据新闻编号查找新闻的当前访问量。调用新闻数据表的数据访问层中的updateViewCount()方法更新当前新闻编号的访问量。在新闻详情网页上显示更新后的新闻访问量。
新闻列表页面newslist.php在DWCS6中打开网站examples,在文件夹“chapter6”下新建一个文件夹“ch6_6”,在文件夹下添加一个PHP文件,并将文件重命名为“newslist.php”,其代码和第五章中最后实现的具有分页功能的newslist.php代码一致。
新闻详情页面newsdetail.php添加一个新的PHP文件,并将文件重命名为newsdetail.php,用来显示新闻的详细信息。该页面必须由newslist.php页面跳转而来,若直接进入该页面的话,自动跳转到newslist.php页面。?php……if(isset($_GET[newsid])){$newsid=$_GET[newsid];$rst=findNewsById($newsid);$author_rst=findUserById($rst[uid]);$author=$author_rst[uname];//更新新闻访问量$viewcount=$rst[viewcount]+1;$result=updateViewCount($newsid);$newsclass_rst=findNewsClassById($rst[classid]); $newsclass=$newsclass_rst[classname]; }else{ header(location:newslist.php);}?divclass=news_showdivclass=show_titleh2?phpecho$rst[title];?/h2 span时间:?phpecho$rst[publishtime];?/span span分类:?phpecho$newsclass;?/span span作者:?phpecho$author;?/spanspan访问量:?phpecho$viewcount;?/span/divdivclass=content?phpechohtmlspecialchars_decode(trim($rst[content]));?/div/div
新闻点赞功能的设计在实现新闻点赞功能的同时,为了防止同一用户对一篇新闻“刷赞”的行为,可以有多种实现方式。在本任务中,无论是注册用户还是游客都可以对新闻点赞,因此可以采用IP地址来限制同一用户对一篇新闻仅能点赞一次。用户点赞后,在新闻详情页面中仅仅点赞数发生变化,重新载入页面可刷新点赞数,但用户的体验不好。AJAX技术是一种在不重载整个页面的前提下,支持部分更新页面数据的技术。这里使用基于JQuery的AJAX技术来局部刷新点赞数据。
新闻点赞数据访问层的设计与实现函数描述addNewsLike($newsid,$userip)添加新闻点赞记录,参数$newsid为新闻编号,$userip为用户端机器的ip地址findNewsLike($newsid,$userip)查找新闻点赞信息getIP()返回客户端IP地址文件夹“chapter6”下的公共文件夹“common”中添加一个文件名为“like.dao.php”文件,用来实现新闻点赞数据访问层:
新闻点赞数据访问层的设计与实现functionaddNewsLike($newsid,$userip){ $link=get_connect(); $newsid=mysql_dataCheck($newsid); $userip=mysql_dataCheck($userip); $sql=insertinto`tbl_like`(`newsid`,`userip`)v
文档评论(0)