通過from表單,將查詢的關(guān)鍵詞,通過 like 跟數(shù)據(jù)進(jìn)行模糊查詢對比

我們提供的服務(wù)有:網(wǎng)站設(shè)計制作、成都網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、開原ssl等。為上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的開原網(wǎng)站制作公司
從topics表中查詢字段subject與傳進(jìn)來的參數(shù)'$_POST['topic']進(jìn)行比較模糊查詢
設(shè)subject字段數(shù)據(jù)為:數(shù)學(xué),英語,物理,化學(xué),英文
$subject=$_POST['topic'];
$sql = "select * from topics where subject like '%" .$subject. "%'";
$result = mysql_query($sql);
若從表單提交的‘topic’值為“學(xué)”,得到的結(jié)果將是:數(shù)學(xué),化學(xué)
多個字段匹配查詢:
$sql = "select id,subject from topics where (id like '%" .$id. "%') or (name like '%" .$name. "%') or (subject like '%" .$subject. "%') order by id desc";
結(jié)果依據(jù)字段id的順序
下面是首頁顯示數(shù)據(jù)表package中的內(nèi)容,但是有個條件,顯示在首頁的內(nèi)容還必須是 :字段status=0,且printing=0的數(shù)據(jù)才能在首頁列表中顯示出來。
頁面上有一個“搜索”功能,輸入條件后就會根據(jù)條件來進(jìn)行查詢。
一般的搜索的話,只要在首頁顯示列表方法index()中給一個:
?
$map=array();//初始化查詢條件
$map=$this-_search();//調(diào)用查詢方法
$total = $this-Model-where ($map)-count(); //這個主要是用來計算頁面顯示數(shù)據(jù)條數(shù)的
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;
}
最后,在設(shè)置的“搜索”菜單中,調(diào)用這個搜索方法。
但是,這個搜索的.同時,還要確保在字段status=0,且printing=0的數(shù)據(jù)中進(jìn)行搜索。
這個限制條件該加在什么地方。各種嘗試和查詢后,才知道。限制條件直接加在SQL語句中就行了(如下紅色的地方)。(我自己試的時候一直在如下藍(lán)色的地方加條件,屢試屢敗!)
$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();
}
更多相關(guān)文章推薦:
#######?基本的數(shù)據(jù)結(jié)構(gòu)?########
//二分查找(數(shù)組里查找某個元素)
function?bin_sch($array,?$low,?$high,?$k){?
if?($low?=?$high){?
$mid?=?intval(($low+$high)/2);?
if?($array[$mid]?==?$k){?
return?$mid;?
}elseif?($k??$array[$mid]){?
return?bin_sch($array,?$low,?$mid-1,?$k);?
}else{?
return?bin_sch($array,?$mid+1,?$high,?$k);?
}?
}?
return?-1;?
}?
//線性表的刪除(數(shù)組中實現(xiàn))
function?delete_array_element($array,?$i)
{
$len?=?count($array);?
for?($j=$i;?$j$len;?$j++){
$array[$j]?=?$array[$j+1];
}
array_pop($array);
return?$array;
}
//冒泡排序(數(shù)組排序)
function?bubble_sort($array)
{
$count?=?count($array);
if?($count?=?0)?return?false;
for($i=0;?$i$count;?$i++){
for($j=$count-1;?$j$i;?$j--){
if?($array[$j]??$array[$j-1]){
$tmp?=?$array[$j];
$array[$j]?=?$array[$j-1];
$array[$j-1]?=?$tmp;
}
}
}
return?$array;
}
//快速排序(數(shù)組排序)
function?quicksort($array)?{
if?(count($array)?=?1)?return?$array;
$key?=?$array[0];
$left_arr?=?array();
$right_arr?=?array();
for?($i=1;?$icount($array);?$i++){
if?($array[$i]?=?$key)
$left_arr[]?=?$array[$i];
else
$right_arr[]?=?$array[$i];
}
$left_arr?=?quicksort($left_arr);
$right_arr?=?quicksort($right_arr);
return?array_merge($left_arr,?array($key),?$right_arr);
}
#######?自實現(xiàn)函數(shù)?#######
//插入一段字符串
function?str_insert($str,?$i,?$substr)
{
for($j=0;?$j$i;?$j++){
$startstr?.=?$str[$j];
}
for?($j=$i;?$jstrlen($str);?$j++){
$laststr?.=?$str[$j];
}
$str?=?($startstr?.?$substr?.?$laststr);
return?$str;
}
//刪除一段字符串
function?str_delete($str,?$i,?$j)
{
for?($c=0;?$c$i;?$c++){
$startstr?.=?$str[$c];
}
for?($c=($i+$j);?$cstrlen($str);?$c++){
$laststr?.=?$str[$c];
}
$str?=?($startstr?.?$laststr);
return?$str;
}
//復(fù)制字符串
function?strcpy($s1,?$s2)
{
if?(strlen($s1)==NULL?||?!isset($s2))?return;
for?($i=0;?$istrlen($s1);?$i++){
$s2[]?=?$s1[$i];
}
return?$s2;
}
//連接字符串
function?strcat($s1,?$s2)
{
if?(!isset($s1)?||?!isset($s2))?return;
$newstr?=?$s1;
for($i=0;?$icount($s);?$i++){
$newstr?.=?$st[$i];
}
return?$newsstr;
}
//簡單編碼函數(shù)(與php_decode函數(shù)對應(yīng))
function?php_encode($str)
{
if?($str==''??strlen($str)128)?return?false;
for($i=0;?$istrlen($str);?$i++){
$c?=?ord($str[$i]);
if?($c31??$c107)?$c?+=?20;
if?($c106??$c127)?$c?-=?75;
$word?=?chr($c);
$s?.=?$word;
}?
return?$s;?
}
//簡單解碼函數(shù)(與php_encode函數(shù)對應(yīng))
function?php_decode($str)
{
if?($str==''??strlen($str)128)?return?false;
for($i=0;?$istrlen($str);?$i++){
$c?=?ord($word);
if?($c106??$c127)?$c?=?$c-20;
if?($c31??$c107)?$c?=?$c+75;
$word?=?chr($c);
$s?.=?$word;
}?
return?$s;?
}
//簡單加密函數(shù)(與php_decrypt函數(shù)對應(yīng))
function?php_encrypt($str)
{
$encrypt_key?=?'abcdefghijklmnopqrstuvwxyz1234567890';
$decrypt_key?=?'ngzqtcobmuhelkpdawxfyivrsj2468021359';
if?(strlen($str)?==?0)?return?false;
for?($i=0;?$istrlen($str);?$i++){
for?($j=0;?$jstrlen($encrypt_key);?$j++){
if?($str[$i]?==?$encrypt_key[$j]){
$enstr?.=?$decrypt_key[$j];
break;
}
}
}
return?$enstr;
}
//簡單解密函數(shù)(與php_encrypt函數(shù)對應(yīng))
function?php_decrypt($str)
{
$encrypt_key?=?'abcdefghijklmnopqrstuvwxyz1234567890';
$decrypt_key?=?'ngzqtcobmuhelkpdawxfyivrsj2468021359';
if?(strlen($str)?==?0)?return?false;
for?($i=0;?$istrlen($str);?$i++){
for?($j=0;?$jstrlen($decrypt_key);?$j++){
if?($str[$i]?==?$decrypt_key[$j]){
$enstr?.=?$encrypt_key[$j];
break;
}
}
}
return?$enstr;
}?
到此為止吧:)
數(shù)據(jù)結(jié)構(gòu)是在整個計算機(jī)科學(xué)與技術(shù)領(lǐng)域上廣泛被使用的術(shù)語。它用來反映一個數(shù)據(jù)的內(nèi)部構(gòu)成,即一個數(shù)據(jù)由那些成分?jǐn)?shù)據(jù)構(gòu)成,以什么方式構(gòu)成,呈什么結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)有邏輯上的數(shù)據(jù)結(jié)構(gòu)和物理上的數(shù)據(jù)結(jié)構(gòu)之分。邏輯上的數(shù)據(jù)結(jié)構(gòu)反映成分?jǐn)?shù)據(jù)之間的邏輯關(guān)系,而物理上的數(shù)據(jù)結(jié)構(gòu)反映成分?jǐn)?shù)據(jù)在計算機(jī)內(nèi)部的存儲安排。數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)存在的形式。 數(shù)據(jù)結(jié)構(gòu)是信息的一種組織方式,其目的是為了提高算法的效率,它通常與一組算法的集合相對應(yīng),通過這組算法集合可以對數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)進(jìn)行某種操作。
使用php實現(xiàn)的基本的數(shù)據(jù)結(jié)構(gòu)和算法,什么二叉樹、二叉搜索樹、AVL樹、B樹、鏈表和常見排序、搜索算法等等,而且全部是使用面向?qū)ο髞韺崿F(xiàn)的,確是是很強(qiáng)。
問題一:如何在網(wǎng)頁中實現(xiàn)搜索功能? 有三種常見的方式
1、自己設(shè)計表單、編程、與數(shù)據(jù)庫鏈接檢索。
2、在百度或谷歌注冊申請站內(nèi)搜索功能。獲得代碼,添加到自己的頁面中。
3、使用第三方的工具軟件,搭建檢索功能
下面是制作’PHP搜索’功能
準(zhǔn)備:
數(shù)據(jù)庫(mysql):一個數(shù)據(jù)庫(search),庫里面一個表(title),表里面一個字段(name).
PHP頁面:兩個頁面(index.php search.php)
制作工具:Dreamweaver
開始:
――――――――――――――――――
第一步.創(chuàng)建數(shù)據(jù)庫.(目前大家應(yīng)該都是用的phpmyadmin來操作數(shù)據(jù)庫的吧?)
建立一個數(shù)據(jù)庫.
第二步.建表
在剛建立的search數(shù)據(jù)庫里插入一個名字為title的表.建表時讓你選插入幾個字段.寫1就可以了.
第三步.建字段
插入的字段命名為name,長度值20就可以了.
―?C數(shù)據(jù)庫部分已經(jīng)做完,接下來是網(wǎng)頁部分―?C
第四步.建立兩個頁面
建立兩個文件:index.php和search.php可以使用記事本等文本工具直接建立.我使用的工具是Dreamweaver(方便嘛.呵呵).
第五步.index.php的頁面制作.
這個頁面是用來傳遞你搜索的關(guān)鍵字的.代碼如下:
這段代碼是建立一個FORM表單.專門用來提交數(shù)據(jù)的.
第一行是FORM表單的開始.它的傳遞方式是post,傳遞到search.php這個頁面.表單名為name.
第二行是文本域和提交按鈕.文本域命名為search,按鈕默認(rèn)就可以了.
第三行是FORM表單的結(jié)束語句.
第五步.search.php的頁面制作.
這個頁面很關(guān)鍵.因為他是獲取index頁面?zhèn)鬟f過來的值,然后導(dǎo)出搜索的數(shù)據(jù).
首先要綁定你建立的search數(shù)據(jù)庫,我用的DW生成的.
上一個頁面?zhèn)魉偷奈谋居蚴莝earch.所以,這里需要建立一個search變量.來接收你輸入的關(guān)鍵詞.用以下語句定義變量:
然后建立一個記錄集,選擇高級.SQL語句中填寫:
S唬LECT *
FROM title
WHERE name like ‘%$searchs%’
這句的意思是選擇title表里面的所有字段(*),然后查詢name中的$searchs變量。這個變量也就是你在index中輸入的值啦。
然后在BODY里面綁定一個動態(tài)文本。選擇NAME。
―?C網(wǎng)頁部分完成.真?zhèn)€搜索功能也就完成了―?C...
問題二:網(wǎng)頁的搜索功能如何實現(xiàn)? 兄臺...你會asp的select update delete么?分的話很簡單的.
搜索主要用到sql語句完成的!
找一下資料自己研究..找別人幫你做.自己也學(xué)不到東西.懂?
如果遇到什么問題請加52433292群.共同研究!
問題三:搜索引擎是怎么實現(xiàn)搜索的? 這是個很復(fù)雜的計算方法,各個搜索引擎使用的技術(shù)都不一樣,大致是:首先各個網(wǎng)站會在編寫網(wǎng)頁時具有一定的特征碼(我們一般叫標(biāo)簽),搜索引擎會索引這些特征碼,還有就是搜索引擎的資料庫,各個網(wǎng)站會在里面登記。搜索的時候就會有相關(guān)結(jié)果。有興趣研究就去搜搜,這講也講不清楚。
問題四:搜索引擎如何實現(xiàn)搜索的啊 隨著互聯(lián)網(wǎng)的迅猛發(fā)展、WEB信息的增加,用戶要在信息海洋里查找自己所需的信息,就象大海撈針一樣,搜索引擎技術(shù)恰好解決了這一難題(它可以為用戶提供信息檢索服務(wù))。搜索引擎是指互聯(lián)網(wǎng)上專門提供檢索服務(wù)的一類網(wǎng)站,這些站點的服務(wù)器通過網(wǎng)絡(luò)搜索軟件(例如網(wǎng)絡(luò)搜索機(jī)器人)或網(wǎng)絡(luò)登錄等方式,將Intemet上大量網(wǎng)站的頁面信息收集到本地,經(jīng)過加工處理建立信息數(shù)據(jù)庫和索引數(shù)據(jù)庫,從而對用戶提出的各種檢索作出響應(yīng),提供用戶所需的信息或相關(guān)指針。用戶的檢索途徑主要包括自由詞全文檢索、關(guān)鍵詞檢索、分類檢索及其他特殊信息的檢索(如企業(yè)、人名、電話黃頁等)。下面以網(wǎng)絡(luò)搜索機(jī)器人為例來說明搜索引擎技術(shù)。
1.網(wǎng)絡(luò)機(jī)器人技術(shù)
網(wǎng)絡(luò)機(jī)器人(Robot)又被稱作Spider、Worm或Random,核心目的是為獲取Intemet上的信息。一般定義為“一個在網(wǎng)絡(luò)上檢索文件且自動跟蹤該文件的超文本結(jié)構(gòu)并循環(huán)檢索被參照的所有文件的軟件”。機(jī)器人利用主頁中的超文本鏈接遍歷WWW,通過U趾引用從一個HT2LIL文檔爬行到另一個HTML文檔。網(wǎng)上機(jī)器人收集到的信息可有多種用途,如建立索引、HIML文件合法性的驗證、uRL鏈接點驗證與確認(rèn)、監(jiān)控與獲取更新信息、站點鏡像等。
機(jī)器人安在網(wǎng)上爬行,因此需要建立一個URL列表來記錄訪問的軌跡。它使用超文本,指向其他文檔的URL是隱藏在文檔中,需要從中分析提取URL,機(jī)器人一般都用于生成索引數(shù)據(jù)庫。所有WWW的搜索程序都有如下的工作步驟:
(1)機(jī)器人從起始URL列表中取出URL并從網(wǎng)上讀取其指向的內(nèi)容;
(2)從每一個文檔中提取某些信息(如關(guān)鍵字)并放入索引數(shù)據(jù)庫中;
(3)從文檔中提取指向其他文檔的URL,并加入到URL列表中;
(4)重復(fù)上述3個步驟,直到再沒有新的URL出現(xiàn)或超出了某些限制(時間或磁盤空間);
(5)給索引數(shù)據(jù)庫加上檢索接口,向網(wǎng)上用戶發(fā)布或提供給用戶檢索。
搜索算法一般有深度優(yōu)先和廣度優(yōu)先兩種基本的搜索策略。機(jī)器人以URL列表存取的方式?jīng)Q定搜索策略:先進(jìn)先出,則形成廣度優(yōu)先搜索,當(dāng)起始列表包含有大量的WWW服務(wù)器地址時,廣度優(yōu)先搜索將產(chǎn)生一個很好的初始結(jié)果,但很難深入到服務(wù)器中去;先進(jìn)后出,則形成深度優(yōu)先搜索,這樣能產(chǎn)生較好的文檔分布,更容易發(fā)現(xiàn)文檔的結(jié)構(gòu),即找到最大數(shù)目的交叉引用。也可以采用遍歷搜索的方法,就是直接將32位的IP地址變化,逐個搜索整個Intemet。
搜索引擎是一個技術(shù)含量很高的網(wǎng)絡(luò)應(yīng)用系統(tǒng)。它包括網(wǎng)絡(luò)技術(shù)、數(shù)據(jù)庫技術(shù)動標(biāo)引技術(shù)、檢索技術(shù)、自動分類技術(shù),機(jī)器學(xué)習(xí)等人工智能技術(shù)。
2.索引技術(shù)
索引技術(shù)是搜索引擎的核心技術(shù)之一。搜索引擎要對所收集到的信息進(jìn)行整理、分類、索引以產(chǎn)生索引庫,而中文搜索引擎的核心是分詞技術(shù)。分詞技術(shù)是利用一定的規(guī)則和詞庫,切分出一個句子中的詞,為自動索引做好準(zhǔn)備。目前的索引多采用Non―clustered方法,該技術(shù)和語言文字的學(xué)問有很大的關(guān)系,具體有如下幾點:
(1)存儲語法庫,和詞匯庫配合分出句子中的詞匯;
(2)存儲詞匯庫,要同時存儲詞匯的使用頻率和常見搭配方式;
(3)詞匯寬,應(yīng)可劃分為不同的專業(yè)庫,以便于處理專業(yè)文獻(xiàn);
(4)對無法分詞的句子,把每個字當(dāng)作詞來處理。
索引器生成從關(guān)鍵詞到URL的關(guān)系索引表。索引表一般使用某種形式的倒排表(1nversionUst),即由索引項查找相應(yīng)的URL。索引表也要記錄索引項在文檔中出現(xiàn)的位置,以便檢索器計算索引項之間的相鄰關(guān)系或接近關(guān)系,并以特定的數(shù)據(jù)結(jié)構(gòu)存儲在硬盤......
問題五:win7 查找(搜索)功能如何設(shè)置? 你可以到下圖“文件夾選項”
按下圖的紅色標(biāo)記選上,確認(rèn)后關(guān)閉,再打開你要找文件的目錄,試一下,應(yīng)該可以,我試了一下~希望能有幫助~
問題六:VB怎樣實現(xiàn)簡單字符搜索功能 1 VB實現(xiàn)文本查找和替換
實現(xiàn)查找功能的關(guān)鍵在于使用InStr函數(shù),這個函數(shù)可以找到指定的字符串在另一字符串中最先出現(xiàn)的位置。我們先來看一看使用這個函數(shù)的語法:
InStr([start, ]string1, string2[, pare])
這個函數(shù)需要的的參數(shù)是起始位置、主體字符串、要查找的字符串;Compare是可選參數(shù)。指定字符串比較。此pare參數(shù)是可以省略的,也可以是 0, 1或 2。指定0(缺省)做二進(jìn)制比較。指定1做不區(qū)分大小寫的文本比較。例如我們要查找在字符串“abcdefg”中是否存在“cd”并返回其位置,則使用下面的語句就可以實現(xiàn):
pos=InStr(1,abcdefg,cd)
則pos會返回3表示查找到并且位置為第三個字符開始。這就是“查找”的實現(xiàn),而“查找下一個”功能的實現(xiàn)就是把當(dāng)前位置作為起始位置繼續(xù)查找。
Replace函數(shù)
語法:Replace( 字符串表達(dá)式,findnreplacewith[,start[,count[,pare]]])
功能:將一個字符串取代 部份字。尋找待取代的原字符串 (find) , 若找到則被取代為新字符串 (replacewith) 。
說明:find :待尋找取代的原字符串。
replacewith :取代后的字。
start :從第幾個字開始尋找取代, 若未設(shè)定則由第一個字開始尋找。
count :取代的次數(shù)。 若未設(shè)定則所有尋找到的字符串取代字符 串全部被取代。
pare :尋找比較的方法, pare=0 表示二進(jìn)制比較法, pare=1 表文字比較法, pare =2 表根據(jù)比較的 數(shù)據(jù)型態(tài)而定, 若省略 pare 則為預(yù)設(shè)的二進(jìn)制比較法。
2
Private Sub Command1_Click()
Text1.Text =
Open c:\a.txt For Input As #1
Text1.SelText = StrConv(InputB(LOF(1), #1), vbUnicode)
Close #1
End Sub
問題七:java如何實現(xiàn)文件搜索功能 你這個就是百度的全文搜索功能,百度是去查所有網(wǎng)頁中的相同字,這個是單一針對文件的,要建立索引 用lucene,百度搜搜會有的。
問題八:怎么在html中實現(xiàn)搜索信息的功能? 嗯,可以使用iframe
怎么樣是不是很酷,完全沒有服務(wù)器端和數(shù)據(jù)庫
搜索大 *** *{ margin:0px; padding:0px;}body{ overflow:hidden;}#top{border-bottom:2px solid #669; padding:6px;background:rgba(102,153,204,0.6); position:fixed; width:100%; text-align:center;}#iframe1{width:100%;height:100%;} 百度搜索 搜搜搜索 搜狗搜索 360搜索 有道搜索 雅虎搜索 必應(yīng)搜索var iframe1=document.getElementById(iframe1);document.getElementById(sumb).onclick=flss;function fls......
問題九:如何用Javascript實現(xiàn)搜索功能 這里有一個簡單的站內(nèi)搜索功能
互聯(lián)網(wǎng) 站內(nèi) 問題十:我建了一個自己的網(wǎng)站,如何實現(xiàn)站內(nèi)搜索? 最簡單的,引用百度的代碼
目前好像只有指定定表來查詢,你可以寫個函數(shù)。。封裝一下
數(shù)據(jù)庫1
select * from 表1
select * from 表2
select * from 表3
……
數(shù)據(jù)庫2
select * from 表1
select * from 表2
select * from 表3
……
然后把多個結(jié)果集獲取出來。。
這是個思路。。具體你也可以把*改成你要搜索的字段。。
如果不想這么麻煩。。還想要簡單一點的話。。我還有一個辦法。。
那就是把整個數(shù)據(jù)庫導(dǎo)出成一個.sql或者txt文件。。然后直接用記事本就可以搜索到整個數(shù)據(jù)庫中有相應(yīng)值的地方。。。然后搜索相應(yīng)的表就可以了。。
嗯,你要更高級一點可以寫個腳本讓數(shù)據(jù)庫定時備份下來。。然后搜索的時候直接去搜索這個備份的文件。
當(dāng)前題目:php實現(xiàn)搜索數(shù)據(jù)結(jié)構(gòu) php搜索功能實現(xiàn)
轉(zhuǎn)載來源:http://www.chinadenli.net/article20/hipgjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、定制開發(fā)、網(wǎng)站設(shè)計公司、網(wǎng)站制作、商城網(wǎng)站、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)