追随其他用户
接下来可以将更多东西添加到 functions.php 文件中。这里需要一个 <font face="NSimsun">show_users()</font>
函数,该函数可以返回系统中所有用户的一个列表。后面将使用这个函数填充一个用户列表。
<font face="NSimsun">show_users()</font>
函数
<br/>function show_users(){<br/> $users = array();<br/> $sql = "select id, username from users where status="active" order by username";<br/> $result = mysql_query($sql);<br/><br/> while ($data = mysql_fetch_object($result)){<br/> $users[$data->id] = $data->username;<br/> }<br/> return $users;<br/>}<br/> ログイン後にコピー ログイン後にコピー |
有了 <font face="NSimsun">show_users()</font>
函数之后,接下来可以创建一个 users.php 文件,该文件将运行这个函数,并显示系统中所有用户的一个列表,对于每个用户,在用户名的旁边都有一个 follow 链接。
<font face="NSimsun">show_users()</font>
函数的 users.php 文件
<br/><?php <br/>session_start();<br/>include_once("header.php");<br/>include_once("functions.php");<br/><br/>?><br/><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"<br/> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><br/><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><br/><head><br/> <meta http-equiv="content-type" content="text/html; charset=utf-8" /><br/> <title>Microblogging Application - Users</title><br/></head><br/><body><br/><br/><h1>List of Users</h1><br/><?php<br/>$users = show_users();<br/><br/>if (count($users)){<br/>?><br/><table border="1" cellspacing="0" cellpadding="5" width="500"><br/><?php<br/>foreach ($users as $key => $value){<br/> echo "<tr valign="top">\n";<br/> echo "<td>".$key ."</td>\n";<br/> echo "<td>".$value ." <small><a href="#">follow</a></small></td>\n";<br/> echo "</tr>\n";<br/>}<br/>?><br/></table><br/><?php<br/>}else{<br/>?><br/><p><b>There are no users in the system!</b></p><br/><?php<br/>}<br/>?><br/></body><br/></html><br/> ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー |
为了访问这个用户列表,在 index.php 文件中表单的上方添加一个到 users.php 的链接:
<p><a href="users.php">see list of users</a></p><br/> ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー |
现在有了一个易于使用的用户名列表,每个用户名旁有一个 follow 链接。
在进入下一个阶段之前,还需要编写一个小函数,该函数将返回当前用户正在追随的用户。这样一来,用户就可以用这个列表来确定是否追随另一个用户。
回到 functions.php 文件,添加一个名为 <font face="NSimsun">following()</font>
的函数,如清单 12 所示。将当前用户 ID 传递给该函数,就可以得到该用户正在追随的每个用户的 ID。
<font face="NSimsun">following()</font>
函数
<br/>function following($userid){<br/> $users = array();<br/><br/> $sql = "select distinct user_id from following<br/> where follower_id = "$userid"";<br/> $result = mysql_query($sql);<br/><br/> while($data = mysql_fetch_object($result)){<br/> array_push($users, $data->user_id);<br/><br/> }<br/><br/> return $users;<br/><br/>}<br/> ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー |
users.php でこの関数を実行して、ユーザー ID が配列内にあるかどうかを確認できるようになりました。その場合は、リンクのフォローを解除してください。そうでない場合は、デフォルトのフォローリンクが使用されます。リスト 13 に、変更されたコードを示します。
<br/><?php<br/>$users = show_users();<br/>$following = Following(<p><span class="atitle">他のユーザーをフォローする</span></p> <p>次に、functions.php ファイルにさらに多くのものを追加できます。ここでは、システム内のすべてのユーザーのリストを返すことができる <code><font face="NSimsun">show_users()</font></code> 関数が必要です。この関数は、後でユーザー リストを設定するために使用されます。 </p> <br/><strong>リスト 10. <code><font face="NSimsun">show_users()</font></code> 関数</strong><br/> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tr> <td class="code-outline"> <pre class="displaycode"> <br/>function show_users(){<br/> $users = array();<br/> $sql = "status="active" のユーザーから ID、ユーザー名を選択し、ユーザー名で並べ替えます";<br/> $result = mysql_query($sql);<br/><br/> while ($data = mysql_fetch_object($result)){<br/> $users[$data->id] = $data->username;<br/> } <br/> return $users;<br/>}<br/> ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー |
有了 <font face="NSimsun">show_users()</font>
函数之后,接下来可以创建一个 users.php 文件,该文件将运行这个函数,并显示系统中所有用户的一个列表,对于每个用户,在用户名的旁边都有一个 follow 链接。
<font face="NSimsun">show_users()</font>
函数的 users.php 文件
<br/><?php <br/>session_start();<br/>include_once("header.php");<br/>include_once("functions.php");<br/><br/>?><br/><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"<br/> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><br/><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><br/><head><br/> <meta http-equiv="content-type" content="text/html; charset=utf-8" /><br/> <title>Microblogging Application - Users</title><br/></head><br/><body><br/><br/><h1>List of Users</h1><br/><?php<br/>$users = show_users();<br/><br/>if (count($users)){<br/>?><br/><table border="1" cellspacing="0" cellpadding="5" width="500"><br/><?php<br/>foreach ($users as $key => $value){<br/> echo "<tr valign="top">\n";<br/> echo "<td>".$key ."</td>\n";<br/> echo "<td>".$value ." <small><a href="#">follow</a></small></td>\n";<br/> echo "</tr>\n";<br/>}<br/>?><br/></table><br/><?php<br/>}else{<br/>?><br/><p><b>There are no users in the system!</b></p><br/><?php<br/>}<br/>?><br/></body><br/></html><br/> ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー |
为了访问这个用户列表,在 index.php 文件中表单的上方添加一个到 users.php 的链接:
<p><a href="users.php">see list of users</a></p><br/> ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー |
现在有了一个易于使用的用户名列表,每个用户名旁有一个 follow 链接。
在进入下一个阶段之前,还需要编写一个小函数,该函数将返回当前用户正在追随的用户。这样一来,用户就可以用这个列表来确定是否追随另一个用户。
回到 functions.php 文件,添加一个名为 <font face="NSimsun">following()</font>
的函数,如清单 12 所示。将当前用户 ID 传递给该函数,就可以得到该用户正在追随的每个用户的 ID。
<font face="NSimsun">following()</font>
函数
<br/>function following($userid){<br/> $users = array();<br/><br/> $sql = "select distinct user_id from following<br/> where follower_id = "$userid"";<br/> $result = mysql_query($sql);<br/><br/> while($data = mysql_fetch_object($result)){<br/> array_push($users, $data->user_id);<br/><br/> }<br/><br/> return $users;<br/><br/>}<br/> ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー |
现在可以在 users.php 上运行这个函数,检查某个用户 ID 是否在该数组中。如果在,则使用 unfollow 链接。如果不在,则使用默认的 follow 链接。清单 13 显示修改后的代码。
___FCKpd___4 ログイン後にコピー ログイン後にコピー ログイン後にコピー ログイン後にコピー |
接下来的步骤很简单:创建 follow 和 unfollow 链接使用的 action.php 文件。该文件接受两个 <font face="NSimsun">GET</font>
参数:一个用于用户 ID,另一个用于 follow 或 unfollow。如清单 14 所示,这个文件和 add.php 文件一样简短。
有了 清单 11. 运行 <font face="NSimsun">show_users()</font> 函数的 users.php 文件
为了访问这个用户列表,在 index.php 文件中表单的上方添加一个到 users.php 的链接:
现在有了一个易于使用的用户名列表,每个用户名旁有一个 follow 链接。 图 2. 用户列表 在进入下一个阶段之前,还需要编写一个小函数,该函数将返回当前用户正在追随的用户。这样一来,用户就可以用这个列表来确定是否追随另一个用户。 回到 functions.php 文件,添加一个名为 清单 12. <font face="NSimsun">following()</font> 函数
users.php でこの関数を実行して、ユーザー ID が配列内にあるかどうかを確認できるようになりました。その場合は、リンクのフォローを解除してください。そうでない場合は、デフォルトのフォローリンクが使用されます。リスト 13 に、変更されたコードを示します。 リスト 13. フォローリンクとフォロー解除リンクを表示する変更された users.php ファイル
有了 清单 11. 运行 <font face="NSimsun">show_users()</font> 函数的 users.php 文件
为了访问这个用户列表,在 index.php 文件中表单的上方添加一个到 users.php 的链接:
现在有了一个易于使用的用户名列表,每个用户名旁有一个 follow 链接。 图 2. 用户列表 在进入下一个阶段之前,还需要编写一个小函数,该函数将返回当前用户正在追随的用户。这样一来,用户就可以用这个列表来确定是否追随另一个用户。 回到 functions.php 文件,添加一个名为 清单 12. <font face="NSimsun">following()</font> 函数
现在可以在 users.php 上运行这个函数,检查某个用户 ID 是否在该数组中。如果在,则使用 unfollow 链接。如果不在,则使用默认的 follow 链接。清单 13 显示修改后的代码。 清单 13. 修改后的 users.php 文件,它将显示 follow 和 unfollow 链接
接下来的步骤很简单:创建 follow 和 unfollow 链接使用的 action.php 文件。该文件接受两个 清单 14. action.php 文件
可以看到,这里取决于之前选择的链接,采取两种不同的动作 — 对于这两个函数要小心一点。不能只是因为用户单击了那个链接,就盲目地追随或放弃追随一个用户。首先,需要检查 following 表中是否存在这样的关系。如果存在,那么可以忽略请求(单击 follow 链接时),或者接受请求(单击 unfollow 链接时)。为简单起见,编写两种情况下都可以使用的一个 清单 15. <font face="NSimsun">check_count()</font> 函数
接下来的步骤很容易:在主页上显示当前用户正在追随的其他用户的列表。虽然已经有了一个 清单 16 中重新编写的代码所做的事情是检查传入的 清单 16. 重新编写的代码,用于限制通过查询获得的用户列表
接下来,将清单 17 中的代码添加到主页中,用于显示所有那些被追随的用户。 清单 17. 修改 index.php 以显示被追随的用户
|