php搜索功能
1. php如何实现下拉框选中搜索功能
这种功能主要属于前端范筹,和php关联不大。
思路是用js实现,绑定选择框的change事件,然后ajax获取第二个选择框的列表。
当第二个选择框触发change事件,就ajax加载列表,把相关的参数传到后端,获取数据后再输出到页面。
推荐使用jQuery库,它的html处理,和ajax都很方便新人上手。
关键点:后端需要配合输出json格式数据,方便解析.
如:
$subcates=[
['id'=>1,'name'=>'aaa'],
['id'=>2,'name'=>'bbb'],
];
echo json_encode([ 'code'=>1,'result'=>$subcate ],JSON_UNESCAPED_UNICODE);
前端jQuery获取数据
$.ajax({
url:'getsubcate.php?bigcate=1',
dataType:'JSON',
success:function(json){
console.log(json.result);
//此处将result数组拼接成html放入第二个选择框
}
});
获取列表的操作类似。
另外,如果对这种动态页面感兴趣的话,可以学习下Vue或React 这些前端框架。只需专注数据,不需要处理html.
2. 怎么用php实现站内搜索功能
所谓站内搜索就是搜索数据库内容,重点是sql语句,并不是PHP
搜索时候对数据库一张或多张表进行查询得出结果,对结果进行处理使其成为一条条消息,然后每条消息中添加链接(一般来说 这个链接地址会和数据库 表名 以及 数据库内容的主键有关联)
3. php 模糊搜索
大概什么时间要,留下QQ,加你
---------------------------------
共3个文件,分别保存后放置同一目录下测试~
****************index.php****************
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>php模糊搜索</title>
</head>
<body>
<a href="1.php">生成100个随机数</a>
<form action="2.php" method="post">
<input name="search" type="text" size="20" maxlength="20" />
<input name="submit" type="submit" value="提交查询" />
</form>
</body>
</html>
首页,有个链接,点击后执行1.php在目录下生成1.txt文本文件,并自动返回首页
****************1.php****************
<?php
$path = "1.txt";
$fp = fopen($path, 'w');
for($i = 1; $i <= 100; $i++) {
fwrite($fp, rand(10, 1000)."\r\n");
}
fclose($fp);
header('location:index.php');
?>
****************2.php****************
<?php
$search = $_POST[search];
$path = "1.txt";
$fp = fopen($path, 'r');
print "100个数字为<br>";
$i = 0;
while(!feof($fp)) {
$arr = fgets($fp);
echo $arr."<br>";
if(preg_match("/^\d*$search\d*/", $arr)) {
$result[$i] = $arr;
$i++;
}
}
echo "----------------------------------------------------------<br>";
echo "匹配的数字共".count($result)."个,如下:<br>";
for($j = 0; $j < count($result); $j++) {
echo $result[$j]." ";
}
?>
先列出100个随机数,如果在index.php中有搜索条件,既在下方显示搜索结果
=========================================================
时间及能力有限,希望对你有帮助,还可以再改进很多,如限制用户输入信息,只能为数字,过滤掉空格等等
4. PHP与MYSQL实现搜索功能
算了。估计这次回答没分。
跟你聊聊所谓的智能搜索吧。
不用 like 实现你说的智能一些的搜索。首先你得做一套分词系统。就是把你那一句话分成若干个词。
比如“你是个非常牛逼的二傻子”这句话。你不能把“你是个”当成一个词吧。 智能一点的分词应该是把“你、非常、牛逼、傻子”分出来。
然后就开始涉及到一个权重问题了。就是 你分出来的这些词 到底你希望哪些符合条件的结果排在签名。很明显上面那句话 傻子的权重要高一些。其次是牛逼。。。
然后 根据权重结果匹配呈现出结果来。。。
基本上 搜索引擎都是这么干的。 分词---数据查询----权重排序----结果呈现。。。。
5. 怎么在网页上用PHP做个搜索功能
通过from表单,将查询的关键词,通过 like 跟数据进行模糊查询对比
从topics表中查询字段subject与传进来的参数'$_POST['topic']进行比较模糊查询
设subject字段数据为:数学,英语,物理,化学,英文
$subject=$_POST['topic'];
$sql = "select * from topics where subject like '%" .$subject. "%'";
$result = mysql_query($sql);
若从表单提交的‘topic’值为“学”,得到的结果将是:数学,化学
多个字段匹配查询:
$sql = "select id,subject from topics where (id like '%" .$id. "%') or (name like '%" .$name. "%') or (subject like '%" .$subject. "%') order by id desc";
结果依据字段id的顺序
6. php程序中的搜索功能
首先处理复选框<input name="qzz" type="checkbox" value="qzz" />
不能全部的value="qzz",否则同一个值就没法区分了,因此整理一下例如用数字表示:
<input name="qzz" type="checkbox" value="1" /> 去除杂质
<input name="qzz" type="checkbox" value="2" /> 分级
<input name="qzz" type="checkbox" value="3" /> 过滤
……
一点这些值要能CP表中的mudi对应,比如mudi的表的值是这样的
a 表示 去除杂质
b 表示 分级
c 表示 过滤
……
那么在写PHP时就可以这样处理
$mudiArray=$_POST['qzz'];
//当然我不input的设置和数据库设置一致的话,就可以不用下面的这个转化了
//页面input和数据字段值之间的转化
foreach($mudiArray as $key=>$value){
switch($value) {
case '1':
$mudiArray[$key]='a';
case '2':
$mudiArray[$key]='b';
case '3':
$mudiArray[$key]='c';
……
}
}
具体SQL:
$mudis = "'" . implode("','", $mudiArray). "'";
$sql = "select * from CP where mudi in(" .$mudis .")";
7. PHP中怎么实现关键字搜索
PHP要实现关键字查搜索,需要用到like关键字来组合查询条件
like具体实现方法如下:
例一:
1$userForm=M('user');
1$where['name']=array('like','phpernote%');
2$userForm->where($where)->select();
这里的like查询即为:name like 'phpernote%'
例二:
1$where['name']=array('like',array('%phpernote%','%.com'),'OR');
这里的like查询即为:name like '%phpernote%' or name like '%.com'
例三:
1$where['name']=array(array('like','%a%'),array('like','%b%'),array('like','%c%'),'phpernote','or');
这里的like查询即为:(`name` LIKE '%a%') OR (`name` LIKE '%b%') OR (`name` LIKE '%c%') OR (`name` = 'phpernote')
例四:
1$where['_string']='(namelike"%phpernote%")OR(titlelike"%phpernote")'
这里的like查询即为:name like '%phpernote%' or title like '%phpernote'
8. php中,关于文本框搜索功能
PHP code
<?php
if($_SERVER['REQUEST_METHOD'] == "POST") {$a[]="Anna1";
$a[]="Anna2";
$a[]="Anna3";
$a[]="Anna4";
$a[]="Anna5";
$a[]="Anna6";
$a[]="Brittany1";
$a[]="Brittany2";
$a[]="Brittany3";
$a[]="Brittany4";
$a[]="Brittany5";
$a[]="Brittany6";
$a[]="Brittany7";
$a[]="Cinderella1";
$a[]="Cinderella2";
$a[]="Cinderella3";
$a[]="Cinderella4";
$a[]="Cinderella5";
$a[]="Cinderella6";
$a[]="Cinderella7";
$a[]="Diana1";
$a[]="Diana2";
$a[]="Diana3";
$a[]="Diana4";
$a[]="Diana5";
$a[]="Diana6";
$a[]="Diana7";
$a[]="Eva";
$a[]="Fiona";
$a[]="Gunda";
$a[]="Hege";
$a[]="Inga";
$a[]="Johanna";
$a[]="Kitty";
$a[]="Linda";
$a[]="Nina";
$a[]="Ophelia";
$a[]="Petunia";
$a[]="Amanda";
$a[]="Raquel";
$a[]="Cindy";
$a[]="Doris";
$a[]="Eve";
$a[]="Evita";
$a[]="Sunniva";
$a[]="Tove";
$a[]="Unni";
$a[]="Violet";
$a[]="Liza";
$a[]="Elizabeth";
$a[]="Ellen";
$a[]="Wenche";
$a[]="Vicky";
//get the q parameter from URL
$q = $_POST["q"];
$r = preg_grep("/^$q/i", $a);
exit(join('<br>', $r));
}
?>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0-beta1.js"></script>
<script>
function showHint(s) {
if($.trim(s) == '') return;
$('#txtHint').css('display', '');
$('#txtHint').load('', {q : s});
}
</script>
<div>
<form action="gethint.php" method="get" name="q">
<input type="text" id="q" name="q" onkeyup="showHint(this.value)" style="width:300px; height:32px;" />
<input type="submit" style="width:80px; height:34px;" value="Search"/>
<p id="txtHint" style="width:600px;diplay:none"></p>
</form>
</div>
9. 如何用php实现搜索功能
这是SQL语句实现的
10. 关于搜索功能那个php代码,能再详细点吗
数据库(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。