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'