仓酷云

标题: PHP网页编程之PHP实例教程(4):构建基于PHP的微博客服... [打印本页]

作者: 因胸联盟    时间: 2015-2-3 23:44
标题: PHP网页编程之PHP实例教程(4):构建基于PHP的微博客服...
完成一个功能齐全的动态站点   </p> 添加其他用户?贴子
要将其他用户的贴子添加到一个用户的工夫表(timeline)上,只需重用之前编写的一些代码。例如,如今已晓得若何取得以后用户正在跟随的用户的列表。也晓得若何取得某个用户收回的一切贴子。因而只需略微修正后一个函数,使之可以承受一个用户列表,而不是单个用户。
如今只需在 index.php 文件中将第一个函数上移一点,以便即刻利用它,然后利用经由过程该函数取得的用户 ID 列表,从他们的工夫表中获得必定数目的贴子 — 这里不需求一切的贴子,只需 5 个摆布。记住,要按日期倒序(比来的在上)分列那些用户的贴子。
起首,为 show_posts() 函数增添一个 limit 参数,将它的值默许为 0。假如 limit 大于 0,则将一个限制值添加到用于检索贴子的 SQL 语句中。别的要做的是将 $userid 参数放入到一个数组中,并将该数组解析到一个以逗号分隔的字段中,最初将该字段传递给 SQL 语句。这需求做一点额定任务,然而可以取得丰富的报答,由于如您所见,一切贴子都将以倒序显示。

清单 18. 更新 show_posts(),以承受一个用户数组
  1. function show_posts($userid,$limit=0){        $posts = array();        $user_string = implode(",", $userid);        $extra = " and id in ($user_string)";        if ($limit > 0){ $extra = "limit $limit";        }else{ $extra = "";                }        $sql = "select user_id,body, stamp from posts  where user_id in ($user_string)  order by stamp desc $extra";        echo $sql;        $result = mysql_query($sql);        while($data = mysql_fetch_object($result)){ $posts[] = array( "stamp" => $data->stamp,  "userid" => $data->user_id,  "body" => $data->body );        }        return $posts;}
复制代码

如今回到 index.php 文件,将不止一个用户 ID 传递给 show_posts(),以下面的清单所示。这其实很复杂,由于已搜集到了这些用户。如今只需利用 array_keys() 掏出键值,将会话变量加到数组中。如许,传递的数组起码包括一个值(已登录确当前用户的 ID),最多则包括以后用户 ID 和该用户跟随的每一个用户的 ID。

清单 19. 将一个用户数组传递给 show_posts() 函数
  1. $users = show_users(添加其他用户?贴子
  2. 要将其他用户的贴子添加到一个用户的工夫表(timeline)上,只需重用之前编写的一些代码。例如,如今已晓得若何取得以后用户正在跟随的用户的列表。也晓得若何取得某个用户收回的一切贴子。因而只需略微修正后一个函数,使之可以承受一个用户列表,而不是单个用户。
  3. 如今只需在 index.php 文件中将第一个函数上移一点,以便即刻利用它,然后利用经由过程该函数取得的用户 ID 列表,从他们的工夫表中获得必定数目的贴子 — 这里不需求一切的贴子,只需 5 个摆布。记住,要按日期倒序(比来的在上)分列那些用户的贴子。
  4. 起首,为 [font=NSimsun]show_posts()[/font] 函数增添一个 limit 参数,将它的值默许为 0。假如 limit 大于 0,则将一个限制值添加到用于检索贴子的 SQL 语句中。别的要做的是将 [font=NSimsun]$userid[/font] 参数放入到一个数组中,并将该数组解析到一个以逗号分隔的字段中,最初将该字段传递给 SQL 语句。这需求做一点额定任务,然而可以取得丰富的报答,由于如您所见,一切贴子都将以倒序显示。
  5. [b]清单 18. 更新 [font=NSimsun]show_posts()[/font],以承受一个用户数组[/b]
  6. [code] function show_posts($userid,$limit=0){        $posts = array();        $user_string = implode(",", $userid);        $extra = " and id in ($user_string)";        if ($limit > 0){ $extra = "limit $limit";        }else{ $extra = "";                }        $sql = "select user_id,body, stamp from posts  where user_id in ($user_string)  order by stamp desc $extra";        echo $sql;        $result = mysql_query($sql);        while($data = mysql_fetch_object($result)){ $posts[] = array( "stamp" => $data->stamp,  "userid" => $data->user_id,  "body" => $data->body );        }        return $posts;}
复制代码

如今回到 index.php 文件,将不止一个用户 ID 传递给 show_posts(),以下面的清单所示。这其实很复杂,由于已搜集到了这些用户。如今只需利用 array_keys() 掏出键值,将会话变量加到数组中。如许,传递的数组起码包括一个值(已登录确当前用户的 ID),最多则包括以后用户 ID 和该用户跟随的每一个用户的 ID。

清单 19. 将一个用户数组传递给 show_posts() 函数
  1. ___FCKpd___1
复制代码


[img=100%,1]http://www.webjx.com/files/allimg/090807/1615120.gif[/img]

                               
登录/注册后可看大图
[img=100%,4]http://www.webjx.com/files/allimg/090807/1615121.gif[/img]



停止语
在本文中,您进修了若何构建一个复杂的基于 PHP 的微博客办事,该办事相似于 Twitter 和 Facebook 形态更新东西。假如一切顺遂的话,您就能够失掉如今如许的功效,并将它添加到您的使用法式中,并依据需求加以定制。
SESSION["userid"]);
if (count($users)){
        $myusers = array_keys($users);
}else{
        $myusers = array();
}
$myusers[] = 添加其他用户?贴子
要将其他用户的贴子添加到一个用户的工夫表(timeline)上,只需重用之前编写的一些代码。例如,如今已晓得若何取得以后用户正在跟随的用户的列表。也晓得若何取得某个用户收回的一切贴子。因而只需略微修正后一个函数,使之可以承受一个用户列表,而不是单个用户。
如今只需在 index.php 文件中将第一个函数上移一点,以便即刻利用它,然后利用经由过程该函数取得的用户 ID 列表,从他们的工夫表中获得必定数目的贴子 — 这里不需求一切的贴子,只需 5 个摆布。记住,要按日期倒序(比来的在上)分列那些用户的贴子。
起首,为 show_posts() 函数增添一个 limit 参数,将它的值默许为 0。假如 limit 大于 0,则将一个限制值添加到用于检索贴子的 SQL 语句中。别的要做的是将 $userid 参数放入到一个数组中,并将该数组解析到一个以逗号分隔的字段中,最初将该字段传递给 SQL 语句。这需求做一点额定任务,然而可以取得丰富的报答,由于如您所见,一切贴子都将以倒序显示。

清单 18. 更新 show_posts(),以承受一个用户数组
  1. function show_posts($userid,$limit=0){        $posts = array();        $user_string = implode(",", $userid);        $extra = " and id in ($user_string)";        if ($limit > 0){ $extra = "limit $limit";        }else{ $extra = "";                }        $sql = "select user_id,body, stamp from posts  where user_id in ($user_string)  order by stamp desc $extra";        echo $sql;        $result = mysql_query($sql);        while($data = mysql_fetch_object($result)){ $posts[] = array( "stamp" => $data->stamp,  "userid" => $data->user_id,  "body" => $data->body );        }        return $posts;}
复制代码

如今回到 index.php 文件,将不止一个用户 ID 传递给 show_posts(),以下面的清单所示。这其实很复杂,由于已搜集到了这些用户。如今只需利用 array_keys() 掏出键值,将会话变量加到数组中。如许,传递的数组起码包括一个值(已登录确当前用户的 ID),最多则包括以后用户 ID 和该用户跟随的每一个用户的 ID。

清单 19. 将一个用户数组传递给 show_posts() 函数
  1. ___FCKpd___1
复制代码


[img=100%,1]http://www.webjx.com/files/allimg/090807/1615120.gif[/img]

                               
登录/注册后可看大图
[img=100%,4]http://www.webjx.com/files/allimg/090807/1615121.gif[/img]



停止语
在本文中,您进修了若何构建一个复杂的基于 PHP 的微博客办事,该办事相似于 Twitter 和 Facebook 形态更新东西。假如一切顺遂的话,您就能够失掉如今如许的功效,并将它添加到您的使用法式中,并依据需求加以定制。
SESSION["userid"];

$posts = show_posts($myusers,5);
[/code]

[img=100%,1]http://www.webjx.com/files/allimg/090807/1615120.gif[/img]

                               
登录/注册后可看大图
[img=100%,4]http://www.webjx.com/files/allimg/090807/1615121.gif[/img]



停止语
在本文中,您进修了若何构建一个复杂的基于 PHP 的微博客办事,该办事相似于 Twitter 和 Facebook 形态更新东西。假如一切顺遂的话,您就能够失掉如今如许的功效,并将它添加到您的使用法式中,并依据需求加以定制。
多个成员之间重复做相同的工作,很容易因为交流沟通的时候没有进行一致性的文档要求而出现不明错误,严重影响开发进度,导致在预定时间内无法完成该项目或者完成的项目跟原先计划所要实现的项目功能不符合。
作者: 仓酷云    时间: 2015-2-4 06:26
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
作者: 谁可相欹    时间: 2015-2-9 17:34
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
作者: 莫相离    时间: 2015-2-9 23:04
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
作者: 小魔女    时间: 2015-2-13 07:37
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 老尸    时间: 2015-2-16 01:10
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
作者: 再现理想    时间: 2015-2-17 07:24
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
作者: 再见西城    时间: 2015-2-26 14:00
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
作者: 只想知道    时间: 2015-3-4 22:01
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
作者: 海妖    时间: 2015-3-6 23:25
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
作者: 第二个灵魂    时间: 2015-3-13 22:10
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
作者: 若天明    时间: 2015-3-19 07:32
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
作者: 山那边是海    时间: 2015-3-19 09:49
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
作者: 金色的骷髅    时间: 2015-3-21 05:19
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
作者: 若相依    时间: 2015-3-23 16:55
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
作者: 兰色精灵    时间: 2015-3-24 05:03
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
作者: 因胸联盟    时间: 2015-3-26 19:53
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
作者: 蒙在股里    时间: 2015-3-27 16:19
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
作者: 飘飘悠悠    时间: 2015-3-29 23:42
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
作者: 柔情似水    时间: 2015-3-31 05:35
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2