通讯录已经大致完成了,但如果记录数多时,查找起来很不方便,如果加一个搜索功能就好了。今天我们就来制作一个搜索功能
在Index.php合适的地方加入搜索框
<!---搜索框--->
<!--这里的所有值前面加前缀“S_”以区分-->
<form id="form1" name="form1" method="post" action="Search.php">
搜索:
<label>
<select name="select">
<option value="S_all" selected="selected">全部</option>
<option value="S_name">姓名</option>
<option value="S_birthday">生日</option>
<option value="S_qq">QQ</option>
<option value="S_mobile">手机</option>
<option value="S_email">邮箱</option>
<option value="S_address">地址</option>
</select>
</label>
<label>
<input name="S_word" type="text" id="S_word" />
</label>
<label>
<input type="submit" name="Submit" value="搜索" />
</label>
</form>
新建一个新的PHP文件,保存为Search.php
<?php include ('Config.php'); $word = $_POST['S_word']; //搜索关键字 $mode = $_POST['S_mode']; //搜索方式 switch($mode) { case 'S_all': $sql = 'SELECT * FROM `'.SqlDataBase.'`.`'.SqlTableName."` WHERE `Name` LIKE '%$word%' OR `Birthday` LIKE '%$word%' OR `QQ` LIKE '%$word%' OR `Mobile` LIKE '%$word%' OR `Email` LIKE '%$word%' OR `Address` LIKE '%$word%'";break; case 'S_name': $sql = 'SELECT * FROM `'.SqlDataBase.'`.`'.SqlTableName."` WHERE `Name` LIKE '%$word%'"; break; case 'S_birthday': $sql = 'SELECT * FROM `'.SqlDataBase.'`.`'.SqlTableName."` WHERE `Birthday` LIKE '%$word%'"; break; case 'S_qq': $sql = 'SELECT * FROM `'.SqlDataBase.'`.`'.SqlTableName."` WHERE `QQ` LIKE '%$word%'"; break; case 'S_mobile': $sql = 'SELECT * FROM `'.SqlDataBase.'`.`'.SqlTableName."` WHERE `Mobile` LIKE '%$word%'"; break; case 'S_email': $sql = 'SELECT * FROM `'.SqlDataBase.'`.`'.SqlTableName."` WHERE `Email` LIKE '%$word%'"; break; case 'S_address': $sql = 'SELECT * FROM `'.SqlDataBase.'`.`'.SqlTableName."` WHERE `Address` LIKE '%$word%'"; break; } require ('Conn.php'); ?>
然后就读出数据,可以参考Index.php中的源码,这里实现了一个比较简单的搜索功能,主要是SQL语句构造有点麻烦