大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
数据库(mysql):一个数据库(search),库里面一个表(title),表里面一个字段(name).
平乡网站建设公司创新互联公司,平乡网站设计制作,有大型网站制作公司丰富经验。已为平乡成百上千提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的平乡做网站的公司定做!
PHP页面:两个页面(index.php
search.php)
第一步.创建数据库.(目前大家应该都是用的phpmyadmin来操作数据库的吧?)
建立一个数据库.
第二步.建表
在刚建立的search数据库里插入一个名字为title的表.建表时让选插入几个字段.写1就可以了.
第三步.建字段
插入的字段命名为name,长度值20就可以了.
—–数据库部分已经做完,接下来是网页部分—–
第四步.建立两个页面
建立两个文件:index.php和search.php可以使用记事本等文本工具直接建立.我使用的工具是Dreamweaver(方便嘛.呵呵).
第五步.index.php的页面制作.
这个页面是用来传递你搜索的关键字的.代码如下:
form method=”post”
action=”search.php”
name=”search”
input name=”search” type=”text” value=”"
size=”15″ input type=”submit”
value=”Search”
/form
这段代码是建立一个FORM表单.专门用来提交数据的.
第一行是FORM表单的开始.它的传递方式是post,传递到search.php这个页面.表单名为name.
第二行是文本域和提交按钮.文本域命名为search,按钮默认就可以了.
第三行是FORM表单的结束语句.
第五步.search.php的页面制作.
这个页面很关键.因为他是获取index页面传递过来的值,然后导出搜索的数据.
首先要绑定你建立的search数据库,我用的DW生成的.
上一个页面传送的文本域是search.所以,这里需要建立一个search变量.来接收你输入的关键词.用以下语句定义变量:
?php
$searchs = $_POST['search'];
?
然后建立一个记录集,选择高级.SQL语句中填写:
SELECT *
FROM title
WHERE name like
‘%$searchs%’
这句的意思是选择title表里面的所有字段(*),然后查询name中的$searchs变量。这个变量也就是你在index中输入的值啦。
然后在BODY里面绑定一个动态文本。选择NAME。
下面是首页显示数据表package中的内容,但是有个条件,显示在首页的内容还必须是 :字段status=0,且printing=0的数据才能在首页列表中显示出来。
页面上有一个“搜索”功能,输入条件后就会根据条件来进行查询。
一般的搜索的话,只要在首页显示列表方法index()中给一个:
?
$map=array();//初始化查询条件
$map=$this-_search();//调用查询方法
$total = $this-Model-where ($map)-count(); //这个主要是用来计算页面显示数据条数的
if ($total == 0) {
$_list = '';
} else {
$_list = $this-Model-where ($map)-limit( $post_data ['first'] . ',' . $post_data ['rows'] )-select();
}
然后,就是写一个_search():
protected function _search(){
$map = array ();
$post_data = I ( 'post.' );
if ($post_data ['packageid'] != '') {
$map ['packageid'] = array (
'like',
'%' . $post_data ['packageid'] . '%'
);
}
return $map;
}
最后,在设置的“搜索”菜单中,调用这个搜索方法。
但是,这个搜索的.同时,还要确保在字段status=0,且printing=0的数据中进行搜索。
这个限制条件该加在什么地方。各种尝试和查询后,才知道。限制条件直接加在SQL语句中就行了(如下红色的地方)。(我自己试的时候一直在如下蓝色的地方加条件,屡试屡败!)
$map=array();
$map=$this-_search();
$total = $this-Model-where ($map)-where(array('status' =0,'print_status'=0))-count();
if ($total == 0) {
$_list = '';
} else {
$_list = $this-Model-where ($map)-where(array('status' =0,'print_status'=0))-limit( $post_data ['first'] . ',' . $post_data ['rows'] )-select();
}
更多相关文章推荐:
form action=' ' method=' '
input type='text'
input type='submit' value='搜索'
/form
接下来你写上查询的代码就行了
查看一下代码:
?php
// 获取表单提交值
$student_id = intval(trim($_POST['student_id']));
// 页面表单 可以放单独的html文件中,如果放单独的html页面中 form 的action的地址要改成下面的PHP文件名
echo 'form action="" method="post"
input type="text" name="student_id" value="{$student_id}"/
input type="submit" name="submit" value="查询"/
/form';
// 当有数据提交时
if ($student_id)
{
$con= mysql_connect("localhost","root","111") or die("连接错误");
mysql_select_db("examination",$con);
// 查询
$sql = "SELECT * FROM tablename WHERE student_id = $student_id ";
$res=mysql_query($sql);
$row=mysql_fetch_array($res);
// 输出
echo '学号:'.$row['student_id'].'br姓名:'.$row['name'].'br性别:'.$row['gender'].'br分数:'.$row['score'];
}
?
php是后端的程序,搜索框只是html文件,如果你不想查询数据库,只是想显示输入的关键字,直接使用javascript就可以实现了。
点击搜索后,取输入框的值,使用js显示就可以。
最简单的
1.表单提交关键词获得$keyword = $_POST['keyword'];
$query= mysql_query("SELECT * FROM `XXX` WHERE `title` LIKE '%$keyword %' LIMIT $offset,$perpage");
2.分页代码就不给你打上了,特么的长。。简写一下思路
LIMIT $offset,$perpage
$offset 是分页的偏移量 计算格式是 $perpage * ($cur_page - 1);
每页显示记录数 X (当前页 - 1)
$perpage 是每页显示的记录数
在你的分页代码里做好,传给LIMIT 直接sql搜索就行了。
3.搜索出来的内容这里定义为 $result
$result = array();
while($rows = mysql_fetch_assoc($query))
{
//将结果集title中的关键词标红
$newTitle = str_replace($keyword, 'font color=red'.$keyword.'/font',$rows['title']);
$result['title'] = $newTitle;
}
这样就得到了加红过的搜索的内容标题。纯手打望采纳,如果可用记得加分哦,不懂的可以追问了