PHP项目开发全程实录(第4版)
上QQ阅读APP看书,第一时间看更新

1.8 免费供求信息发布模块设计

视频讲解

1.8.1 免费供求信息发布模块概述

免费供求信息的发布提供对象为供求信息用户,是供求信息网站非常重要的功能,也是供求信息网站的核心功能。

免费供求信息发布模块可以完成11种不同类别信息的发布。用户可以根据自身需要将供求信息发布到相应的信息类别中(共包括11个信息类别:公寓信息、招聘信息、求职信息、培训信息、家教信息、房屋信息、车辆信息、求购信息、出售信息、招商引资、寻人/物启示等类型供求信息)。信息发布成功后,需要管理员进行审核,只有审核成功的信息才能显示在前台相应的信息类别网页中。免费供求信息发布的流程如图1.30所示。

图1.30 免费供求信息发布流程图

1.8.2 免费供求信息发布模块技术分析

本模块实现免费供求信息发布功能,主要应用到如下几个函数。

1.mysqli_connect()函数

打开一个到MySQL服务器的连接。如果成功则返回一个MySQL连接标识,失败则返回false。语法如下:


    mysqli mysqli_connect ( [string server [, string username [, string password [, string dbname [, int port [, string
    socket]]]]]] )

mysqli_connect()函数的参数说明如表1.9所示。

表1.9 mysqli_connect()函数的参数说明

2.mysqli_select_db()函数

选择MySQL数据库。如果成功返回true,失败返回false。语法如下:


    bool mysqli_select_db(mysqli link, string dbname)

其中,参数link为必选参数,该参数为应用mysqli_connect()函数成功连接MySQL数据库服务器后返回的连接标识;参数dbname为必选参数,该参数为用户指定要选择的数据库名称。

下面应用mysqli_connect()函数连接MySQL服务器,然后应用mysqli_select_db()函数连接MySQL数据库,代码如下:

3.mysqli_query()函数

mysqli_query()函数用来执行SQL语句。语法如下:


    mixed mysqli_query(mysqli link, string query [, int resultmode])

其中,参数link为必选参数,该参数为mysqli_connect()函数成功连接MySQL数据库服务器后所返回的连接标识;参数query为必选参数,该参数为所要执行的查询语句;参数resultmode为可选参数,该参数取值有MYSQLI_USE_RESULT和MYSQLI_STORE_RESULT。其中MYSQLI_STORE_RESULT为该函数的默认值。如果返回大量数据可以应用MYSQLI_USE_RESULT,但应用该值时,以后的查询调用可能返回一个commands out of sync错误,解决办法是应用mysqli_free_result()函数释放内存。

如果SQL语句是查询指令select,成功则返回查询结果集,否则返回false;如果SQL语句是insert、delete、update等操作指令,成功则返回true,否则返回false。

4.date()函数

date()函数主要用于格式化一个本地时间/日期。语法如下:


    string date(string format, int timestamp)

该函数返回将参数timestamp按照指定格式格式化而产生的字符串,其中参数timestamp是可选的,默认值为time(),即如果没有给出时间戳,则使用本地当前时间。

date()函数的参数format的格式化选项如表1.10所示。

表1.10 参数format的格式化选项

注意

有效的时间戳典型范围是格林威治时间1901年12月13日20:45:54到2038年1月19日03:14:07(此范围符合32位有符号整数的最小值和最大值)。在Windows系统中此范围限制为从1970年1月1日到2038年1月19日。

例如,应用date()函数格式化一个日期,并输出日期的值。代码如下:


    <?php
    echo date("y/m/d");
    ?>

结果为:17/12/11。

1.8.3 免费供求信息发布模块的实现过程

 免费供求信息发布使用的数据表:tb_info

用户通过单击前台页面导航栏中的“我要发布”超链接,进入信息发布页面,如图1.31所示。程序会先验证用户是否输入信息,若验证失败,则返回信息发布页面,进行相应提示;若验证成功,则向数据库中插入记录,完成发布操作。

图1.31 免费供求信息发布网页

在功能导航页top.php中添加“发布信息”超链接。代码如下:

例程03 代码位置:资源包\TM\01\cityinfo\top.php


    <a href="release.php">[发布信息]</a>

在信息发布页面选择要发布的信息类型后,填写真实有效的供求信息。为了避免用户添加空信息,在单击“发布信息”按钮时,应用JavaScript脚本自定义一个checkform()函数,验证提交的表单各元素是否为空值,如果为空,则弹出提示信息,并将焦点定位到为空值的表单元素。代码如下:

例程04 代码位置:资源包\TM\01\cityinfo\release_content.php

创建与数据库db_pursey的连接,代码如下:

例程05 代码位置:资源包\TM\01\cityinfo\conn\conn.php

代码贴士

❶mysqli_connect()函数:连接MySQL服务器,详细讲解参见1.8.2节。

❷mysqli_select_db()函数:连接MySQL数据库文件,详细讲解参见1.8.2节。

❸mysqli_query()函数:用来向数据库服务器发送编码方式,详细讲解参见1.8.2节。

提交表单信息到数据处理页,应用insert…into语句向免费供求信息表中添加供求信息。如果信息添加成功,则弹出成功的提示信息;否则弹出失败的提示信息。代码如下:

例程06 代码位置:资源包\TM\01\cityinfo\release_ok.php

代码贴士

❶date()函数:格式化一个本地时间/日期,详细讲解参见1.8.2节。

❷insert into:向指定的数据表中添加数据信息。