A. php查找关键词
好像一句sql搞不定
$k=array();
$sql='SELECTnameFROMtable';
$r=mysql_query($sql);
while($row=mysql_fetch_row($sql)){
array_push($k,$row[0]);
}
foreach($kas$key=>$val){
$k[$key]="titleLIKE'%".$val."%'ORcontentLIKE'%".$val."%'";
}
$sql='SELECTidFROMtableWHERE'.join('OR',$k);
$r=mysql_query($sql);
B. php关键词搜索实例
1,$conn = mysqli_connect('主机','用户名','密码','数据库名'); //连接数据库 2,$rs = mysqli_query($conn,$sql)//执行sql语句 3,while($v = mysqli_fetch_array($rs))//循环得出数据 4,echo $v['name'];echo $v['age'];echo $v['sex'];输出数据.. html代码就不用我写了吧.. 模糊查询: select * from A where (B like "%C%" or D like "%E%") order by F DESC;
我 1
做 3
问 5
答 1
推 9
广 9
关 6
键 9
词 5
不 0
在 2
前
3
页
不
收
费
C. PHP 数组 怎么实现关键词查找
这个关键词是包含在数组中的key中还是value中?
如果是包含在key中的话,可以这么写
foreach($arrayas$k=>$v){
if(strstr($k,$keyword,true)){
return$k;
}
}
如果关键词包含在value中的话,就这么写
foreach($arrayas$k=>$v){
if(strstr($v,$keyword,true)){
return$v;
}
}
D. php通过mysql like搜索关键词查询,所有符合数据遍历出来
<?php
$host="localhost";
$username="root";
$password="root";
$db="db4"; //库名
$mysql_table="person"; //表名
//连接数据库,面向过程
$conn=mysqli_connect($host,$username,$password);
if(!$conn){
echo "数据库连接失败";
exit;
}
//选择所要操作的数据库
mysqli_select_db($conn,$db);
//设置数据库编码格式
mysqli_query($conn,"SET NAMES UTF8");
//编写sql获取分页数据 SELECT * FROM 表名 LIMIT 起始位置,显示条数
//注意:以下id,name,age,say都是字段节点名,person是表名,db4是数据库名,think是指定的关键字.
$sql = 'SELECT id, name, age, say
FROM person
WHERE say LIKE "%think%" order by id ASC LIMIT '.($page-1)*$pageSize .",{$pageSize}";
// 节点名 关键字 节点名 可指定数量limit后可写一个指定的数字
//$sql="select * from $mysql_table"
//把sql语句传送到数据库
$result=mysqli_query($conn,$sql);
//将数据显示到table中,并未table设置格式
echo "<div class='content'>";
echo "<table border=1 cellspacing=0 width=30% align=center>";
echo "<tr><td>ID</td><td>NAME</td><td>say</td></tr>";
while ($row = mysqli_fetch_assoc($result)) {
echo "<tr>";
echo "<td>{$row['id']}</td>";
echo "<td>{$row['name']}</td>";
echo "<td>{$row['say']}</td>";
echo "<tr>";
}
echo "</table>";
echo "</div>";
//释放结果
mysqli_free_result($result);
//关闭数据库
mysqli_close($conn);
E. php怎么实现多关键词匹配 如 搜索 明天 上课 结果 明天要去上课
如果纯php实现,只有遍历列表,然后一个个查找字符串中是否包含这俩词。
MySQL就用like,当然性能不好。可以先切词,然后查。
搜索引擎的话,可以配置切词查
F. ThinkPHP关键字搜索(从MySQL数据库中)
提交的时候记得把默认的值去掉 才能判断是否有值..
//这个是把三个搜索关键词作为独立的因子搜索
functionsearch(){
if(isset($_POST['id'])&&intval($_POST['id'])>0){
$sql="select*fromtblwhereid=".intval($_POST['id'])."";
}
if(isset($_POST['name'])){
$sql.="unionselect*fromtblwherename=".$_POST['name']."";
}
if(isset($_POST['content'])){
$sql.="unionselect*fromtblwherecontentlike'%".$_POST['content']."%'";
}
$s=M('search');
$result=$s->query($sql);
}
}
//以下是把三个搜索当作条件进行搜索有筛选的味道
functionsearch(){
$where="1=1";
if(isset($_POST['content'])){
$where.="andcontentlike'%$_POST[content]%'";
}
if(isset($_POST['content'])){
$where.="andname='$_POST[name]'";
}
if(isset($_POST['id'])&&intval($_POST['id'])>0){
$where.="andid='$_POST[id]'";
}
if($where!='1=1'){
$sql="select*fromtbl$where";
}else{
thrownewException('没有输入搜索词');
}
$s=M('search');
$result=$s->query($sql);
}
}
G. php正则表达式按关键字搜索文件
$list=scandir('./help');$key=$_GET['k'];$dir=$_GET['dir'];//文件目录,可以指定
function
key_search($dir){global
$key;
$list=scandir($dir);
if($list){
foreach($list
as
$v){
if($v!='.'
or
$v!='..'){
$f=$dir.$v;
if(
is_dir
($f)){scandir($f);}else{
if(!stristr($v,$key)){echo
$v;}
}
}
}
}else{echo
$dir.'文件夹不存在';}
注:1,程序请自行测试
2,子目录可能需要检查最后字符是否为/,如果不是,则添加。
3,你的说明很有问题,一会儿要找,一会又说不包含。
}
H. 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'