文章教程

14.7朋友圈模块设计

9/17/2020 9:49:37 PM 人评论 次浏览

14.7 朋友圈模块设计

本系统的朋友圈模块的主要功能有添加、查询、删除好友。添加的好友除了该用户以外,包括管理员在内的所有外人都不可以查看,以保证个人隐私不被外泄。用户被删除时,该用户现有的朋友圈也一并被删除。

14.7.1 朋友圈模块技术分析

在查询好友的功能中,使用到了模糊查询语句,用于模糊查找好友列表。模糊查询语句使用的是like运算符。在PHP中,带有like运算符的查询语句的常用格式有以下两种。

1.使用通配符“%”的where子句

通配符“%”表示0个或多个、任意长度和类型的字符,包括中文汉字。

示例1:表示查找所有内容包含“php”字的文章。

  select * from tb_file where content like '%php%';

示例2:查找所有包含“php”字或“mysql”字的文章,这时可以配合or运算符来使用。

  select * from tb_file where content like '%php%' or content like '%mysql%';

2.使用通配符“_”的where子句

通配符“_”表示匹配任意的单个字符。

示例1:查找用户名只包含5个字符,其中后4个字符为hbsi的用户。

  select * from tb_user where regname like '_hbsi';

示例2:查找所有以hbsi开头,并且以hbsi结尾的,中间包含三个字符的用户。

  select * from tb_user where regname like 'hbsi___hbsi';

注意:使用MySQL做模糊查询要注意编码问题。如果编码不统一,那么查询时就容易查不到数据,或返回的数据不匹配。所以在安装MySQL时,要保持和系统编码的统一。常用的编码格式有gb2312、utf8和gbk等。

14.7.2 查询好友的实现过程

当用户要查询好友时,单击“朋友圈管理”|“查询朋友信息”,显示查询页面。查询可以分为姓名查询和编号查询,均为模糊查询。当用户输入要查找的关键字后,单击“检索”按钮或按Enter键,系统跳到处理页进行处理。操作涉及为数据库中表tb_friend中的数据。查询好友页面的运行结果如图14-18所示。

image

图14-18 查询好友页面

查询页包含一个查询表单,包括查询条件和查询关键字两部分表单元素。主要表单元素如表14-7所示。

表14-7 查询页表单的主要元素属性

名称 元素类型 重要属性 含义
myform form method="post" action="query_friend.php" onSubmit="return check();" 查询好友表单
sel_tj select <option value="name" selected>姓名</option>
<option value="id">编号</option>
查询条件选择
sel_key text id="sel_key" size="30" 查询关键字
submit submit type="submit" name="submit" value="检索" “检索”按钮

当处理页接收到查询条件及查询关键字后,生成模糊查询语句,执行SQL语句并返回查询结果。如果没有输入关键字,则弹出提示框;如果没有查找到任何结果,则输出“Sorry!没有您要找的朋友!”。处理页的关键代码如下。

  <?php session_start(); include "Conn/conn.php";  include "check_login.
  	php"; ?>
  <html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  <link href="CSS/style.css" rel="stylesheet">
  <title>查询朋友信息</title>
  </head>
  <div class=menuskin id=popmenu
        onmouseover="clearhidemenu();highlightmenu(event,'on')"
        onmouseout="highlightmenu(event,'off');dynamichide(event)"
  	  style="Z-index:100;position:absolute;"></div>
  <script src=" JS/menu.JS"></script>
  <script language="javascript">
  function check(form){
  if (document.myform.sel_key.value==""){
  	alert("请输入查询条件!");myform.sel_key.focus();return false;
  }
  }
  function fri_chk(){
  if(confirm("确定要删除选中的朋友吗?一旦删除将不能恢复!")){
  	return true;
  }else
  	return false;
  }
  </script>
  <body>
  <TABLE width="757" cellPadding=0 cellSpacing=0 style="WIDTH: 755px"
  align="center">
    <TBODY>
      <TR> <TD style="VERTICAL-ALIGN: bottom; HEIGHT: 6px" colSpan=3> <TABLE
        style="BACKGROUND-IMAGE: url( images/f_head.jpg); WIDTH: 760px;
  	 HEIGHT: 154px"
        cellSpacing=0 cellPadding=0> <TBODY>
              <TR>
                <TD height="110" colspan="6"
            style="VERTICAL-ALIGN: text-top; WIDTH: 80px; HEIGHT: 115px;
  	      TEXT-ALIGN: right"></TD>
              </TR>
              <TR>
                <TD height="29" align="center" valign="middle"> <TABLE style=
  		  "WIDTH: 580px" VERTICAL-ALIGN: text-top; cellSpacing=0
  		  cellPadding=0 align="center">
                    <TBODY>
                      <TR align="center" valign="middle">
                        <TD style="WIDTH: 100px; COLOR: red;">欢迎您:&nbsp;<?php
  			  echo $_SESSION[username]; ?>&nbsp;&nbsp;</TD>
                        <TD style="WIDTH: 80px; COLOR: red;"><SPAN  style=
  			   "FONT-SIZE: 9pt; COLOR: #cc0033"></SPAN> <a href="index.
  			   php">博客首页</a></TD>
                        <TD style="WIDTH: 80px; COLOR: red;"> <a  onmouseover=
  			  showmenu(event,productmenu) onmouseout=delayhidemenu()
  			  class='navlink' style="CURSOR:hand" >文章管理</a></TD>
                        <TD style="WIDTH: 80px; COLOR: red;"> <a  onmouseover=
  			   showmenu(event,Honourmenu) onmouseout=delayhidemenu()
  			   class='navlink' style="CURSOR:hand">图片管理</a></TD>
                        <TD style="WIDTH: 90px; COLOR: red;"> <a  onmouseover=
  			   showmenu(event,myfriend) onmouseout=delayhidemenu()
  			   class='navlink' style="CURSOR:hand" >朋友圈管理</a> </TD>
                        <?php
  					if($_SESSION[fig]==1){
  					 ?>
  					 <TD style="WIDTH: 80px; COLOR: red;"> <a
  					  onmouseover=showmenu(event,myuser) onmouseout=
  					  delayhidemenu() class='navlink' style="CURSOR:hand"
  					  >管理员管理</a></TD>
    				  <?php
  					 }
  					  ?>
  				 <TD style="WIDTH: 80px; COLOR: red;"> <a href="safe.
  				 php">退出登录</a></TD>
                      </TR>
                    </TBODY>
                  </TABLE></TD>
              </TR>
            </TBODY>
          </TABLE></TD>
      </TR>
      <TR>
        <TD colSpan=3 valign="baseline" style="BACKGROUND-IMAGE: url(images/
  	    bg.jpg); VERTICAL-ALIGN: middle; HEIGHT: 450px; TEXT-ALIGN: center">
  	    <table width="100%" height="100%"  border="0" cellpadding="0"
  	    cellspacing="0">
            <tr>
              <td height="451" align="center"><table width="600" height="360"
  		 border="0" cellpadding="0" cellspacing="0">
                  <tr>
                    <td height="32" align="center" valign="middle"><table
  			width="480" border="0" cellpadding="0" cellspacing="0">
                        <tr>
                          <td> <form  name="myform" method="post" action="">
                             <table width="560" border="1" cellpadding="3"
  				cellspacing="1" bordercolor="#D6E7A5">
                                <tr>
                                  <td width="100%" height="28" align="center"
  				     class="i_table">查询条件:
                                    <select name="sel_tj" id="sel_tj">
                                      <option value="name" selected>姓名</option>
                                      <option value="id">编号</option>
                                    </select>
                                    关键字
                                    <input name="sel_key" type="text" id="sel_
  				      key" size="30">
  &nbsp;
                                    <input type="submit" name="Submit" value="检
  				      索" onClick="return check();"></td>
                                </tr>
                              </table>
                            </form></td>
                        </tr>
                      </table></td>
                  </tr>
                  <tr>
                    <td height="325" align="center" valign="top">
  				  <?php
  				  if ($_POST["Submit"]=="检索"){
  				  $tj=$_POST[sel_tj];
  				  $key=$_POST[sel_key];
  				  $sql=mysql_query("select * from tb_friend where $tj=
  				   '$key' and username='$_SESSION[username]'");
  				    $result=mysql_fetch_array($sql);
  				  if($result==false){
  				   echo ("[<font color=red>Sorry!没有您要找的朋友!</
  				   font>]");
  				  }
  				  else{
  				 ?>
                      <table width="560" border="1" align="center" cellpadding=
  			 "3" cellspacing="1" bordercolor="#9CC739" bgcolor=
  			 "#FFFFFF">
                        <tr align="left" colspan="2" >
                          <td width="390" height="25" colspan="3" valign="top"
  			     bgcolor="#EFF7DE"> <span class="tableBorder_LTR"> 查
  			     询结果</span> </td>
                        </tr>
                        <td height="192" align="center" valign="top" ><table
  			     width="480" border="0" cellpadding="0" cellspacing="0">
                              <tr>
                                <td align="center"> <?php
  					  do{
  					  ?>
                                  <table width="500" border="1" align=center
  					cellpadding=3 cellspacing=2 bordercolor=
  					"#FFFFFF" bgcolor="#FFFFFF" class=i_table>
                                    <tr bgcolor="#FFFFFF">
                                      <td width=13% align="center" valign=
  					   middle> 编
                                        号</td>
                                      <td width=8% align="left"><?php echo $result
  					   [id]; ?></td>
                                      <td width=10% align="center">姓
                                        名</td>
                                      <td width=13% align="left"><?php echo
  					   $result[name]; ?></td>
                                      <td width=13% align="center"><span class=
  					   "f_one">性
                                          别</span></td>
                                      <td width=9% align="left"><?php echo $result
  					   [sex]; ?></td>
                                      <td width=15% align="center">生
                                     日</td>
                                      <td width=19% align="left"><?php echo
  					   $result[bir]; ?></td>
                                    </tr>
                                    <tr bgcolor="#FFFFFF">
                                      <td width=13% align="center" valign=middle>
  					   所在城市</td>
                                      <td colspan="3" align="left"><?php echo
  					   $result[city]; ?></td>
                                      <td align="center">家庭住址</td>
                                      <td colspan="3" align="left"><?php echo
  					   $result[address]; ?></td>
                                    </tr>
                                    <tr bgcolor="#FFFFFF">
                                      <td align="center">邮政编码</td>
                                      <td colspan="2" align="left"><?php echo
  					   $result[postcode]; ?></td>
                                      <td align="center">家庭电话</td>
                                      <td colspan="4" align="left"><?php echo
  					   $result[tel]; ?></td>
                                    </tr>
                                    <tr bgcolor="#FFFFFF">
                                      <td align="center">e-mail</td>
                                      <td colspan="7" align="left"><?php echo
  					   $result[email]; ?></td>
                                    </tr>
                                    <tr bgcolor="#FFFFFF">
                                      <td height="45" align="center" valign=
  					   middle>手机号码</td>
                                      <td colspan="3" align="left"><?php echo
  					   $result[handset]; ?></td>
                                      <td align="center">QQ号</td>
                                      <td colspan="2" align="left"><?php echo
  					   $result[QQ]; ?></td>
                                      <td align="center">
  							<?php
  							if (isset($_SESSION[username])){
  							?>
  							<a href="del_friend.php?friend_id=
  								<?php echo $result[id]?>"><img src=
  								"images/A_delete.gif" width="52"
  								height="16" alt="删除朋友信息" onClick=
  								"return fri_chk();"></a>
  							<?php
  							}
  							 ?>
  						    </td>
                                  </tr>
                                  </table>
                                  <?php
  						}while($result=mysql_fetch_array($sql))
  						 ?> </td>
                              </tr>
                            </table></td>
                      </table>
                      <?php
  				}
  		 	 }
  	        ?> </td>
                  </tr>
                </table></td>
            </tr>
          </table></TD>
      </TR>
    </TBODY>
  </TABLE>
  </body>
  </html>

教程类别