[問題] 請問查詢用的php怎麼寫

phpBB 2 MOD Support
無論是官方或非官方認證之外掛,安裝與使用問題討論。
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

seeland
星球普通子民
星球普通子民
文章: 11
註冊時間: 2005-01-25 20:12

[問題] 請問查詢用的php怎麼寫

文章 seeland »

:cry:
請教各位高手,我目前在基金會擔任網站建構,因為網站內容資料很多,需要用到\r
查詢功能,請問如果要用php+mysql寫程式的話,是否有可以參考的範例,(有點像貴網站的查詢功能)?
頭像
shihchieh
竹貓忠實會員
竹貓忠實會員
文章: 509
註冊時間: 2002-10-07 13:02

Re: [問題] 請問查詢用的php怎麼寫

文章 shihchieh »

seeland 寫::cry:
請教各位高手,我目前在基金會擔任網站建構,因為網站內容資料很多,需要用到\r
查詢功能,請問如果要用php+mysql寫程式的話,是否有可以參考的範例,(有點像貴網站的查詢功能)?
用標準的SQL語法去搜尋你要的欄位即可,不過聽你說起來你好像不是用PHPBB的樣子
---
Do you fear death ?
頭像
Xilinx
星球公民
星球公民
文章: 37
註冊時間: 2004-10-11 10:58

Re: [問題] 請問查詢用的php怎麼寫

文章 Xilinx »

shihchieh 寫:
seeland 寫::cry:
請教各位高手,我目前在基金會擔任網站建構,因為網站內容資料很多,需要用到\r
查詢功能,請問如果要用php+mysql寫程式的話,是否有可以參考的範例,(有點像貴網站的查詢功能)?
用標準的SQL語法去搜尋你要的欄位即可,不過聽你說起來你好像不是用PHPBB的樣子
我都是用SQL語法去搜尋你要的欄位即可\r
非常好用喔
warkinger
星球公民
星球公民
文章: 170
註冊時間: 2004-11-18 14:26
來自: TW
聯繫:

文章 warkinger »

通常會問這問題,對php方面不太熟,建議你練習用php+mysql寫個留言版

只少要有能力寫出,十分容易,最基本的呼叫和插入mysql語法

後在去看一些文章,就明白我們在說什麼了

高手級把phpbb的search.php直接改改拿去用就好了

><我還很菜~~初心者
.
自已整理P2P資源網:
http://zp2p.blogspot.com/

免費空間集散地:
http://zfree.org.ru/bbs/
.
seeland
星球普通子民
星球普通子民
文章: 11
註冊時間: 2005-01-25 20:12

文章 seeland »

感謝大家在這麼短的時間內熱心提供回答,可能我的問題問的不清楚,我想再講清楚一點,就是我不是要建討論區的檢索功能,而是要放在網站上,讓網友查詣內容用的檢索功能.
例如:我負責的網站內容將介紹寺院,共有1000所之多,為了方便網友能很快找到資料,所以想用mysql建立一資料表,並用php寫成一個介面,可讓人查詢之用.

我有上中原大學的熊蓋站學過留言板及計數器等課程,但是之後的課程並沒有教到這個.所以,想請教各位高手,有沒有這方面的教學範例?
謝謝!
竹貓忠實會員
竹貓忠實會員
文章: 1058
註冊時間: 2003-05-15 00:30
來自: Game.Hack-遊戲駭客
聯繫:

文章 »

第一
把你要讓USER查詢的資料入庫

第二
搜尋頁面 => 傳回值至*.php => php送出sql指令 => 傳回資料 => 輸出\r

基本上先前已經有討論過很多程式寫作的相關實例(關鍵字:包子大)XD
有事問問題,沒事答問題。
廣告不是這樣打滴!遊戲駭客
seeland
星球普通子民
星球普通子民
文章: 11
註冊時間: 2005-01-25 20:12

[問題] 如何找查詢的實例

文章 seeland »

:cry: 我用搜尋查了"包子大"了,但是出來的並不是相關的內容.
貴網站要找內容真的不太容易,對這網站不熟的人,真不知從何找起?
是否能從什麼分類名稱去找?
不知道您所說的查詢的實例到底在那裡?
煩請再好心告訴我.謝謝!
messagebox
竹貓忠實會員
竹貓忠實會員
文章: 981
註冊時間: 2003-02-24 23:34

文章 messagebox »

SELECT *(這裡的*表示傳回所有欄位) FROM (要找哪個資料表) WHERE (某一欄位) LIKE (查詢字串)

例如 我要查guest_book這個資料表的title欄位~~查詢字串為測試\r
SELECT * FROM huest_book WHERE title LIKE %測試%
例如我要查guest_book這個資料表的point欄位~~查詢point大於50
SELECT * FROM huest_book WHERE ponit > 50
seeland
星球普通子民
星球普通子民
文章: 11
註冊時間: 2005-01-25 20:12

文章 seeland »

:?: 想請問"文"先生或小姐:
您所說的做法:
第一
把你要讓USER查詢的資料入庫

第二
搜尋頁面 => 傳回值至*.php => php送出sql指令 => 傳回資料 => 輸出

是否有範例?在那裡?我查了一個下午,還是查不到.
竹貓忠實會員
竹貓忠實會員
文章: 1058
註冊時間: 2003-05-15 00:30
來自: Game.Hack-遊戲駭客
聯繫:

文章 »

怎會找不到呢?(關鍵字:搜尋 發表人:messagebox)

http://phpbb-tw.net/phpbb/viewtopic.php ... g+%B7j%B4M
有事問問題,沒事答問題。
廣告不是這樣打滴!遊戲駭客
seeland
星球普通子民
星球普通子民
文章: 11
註冊時間: 2005-01-25 20:12

[問題] 站內搜索引擎的範例在phpbible如何查得到

文章 seeland »

:-D
太感激了啊!這麼快的時間內就得到回覆.
請原諒我是新來的,所以不太會查.
我要的就是這個啦!我會好好學習與研究.
目前正在非常努力練習中.
有問題再上來請教各位高手.
感恩啦!
最後請問一下,站內搜索引擎的實際範例,在phpbible英文網站是否找得到?
英文稱為什麼?該用什麼關鍵字查詢?
seeland
星球普通子民
星球普通子民
文章: 11
註冊時間: 2005-01-25 20:12

[問題] 站內搜索引擎的query寫法

文章 seeland »

文君想請教一下,
:roll:
我在myAdmin建立一資料庫名為 "temple"
裡面的資料表名為"temple-tot"
欄位共有下列7個:id,name,country,place,info,http_addr
除了第一欄位之外,其它欄位皆可供人查詢.
我照您所告知的程式,填了相關的內容,但是查詢出來結果是說:網頁無法顯示".
不知是哪裡寫錯了?(以下是假設開放name及info這兩個欄位供人查詢)
是不是$query 寫錯了?

<?php

//------[基本設定 ]-------
$mysql_server_name = "localhost";
$mysql_username = "root";
$mysql_password = "";
$mysql_database = "temple";
//-------

if ( isset($http_post_vars['searchtext']) ){ //有輸入搜尋文字

$searchtext = $http_post_vars['searchtext']; //將變數searchtext指定為由post標準輸入的searchtext值

$my_db = mysql_connect("localhost","root"); //連結sql
mysql_select_db("temple"); //選擇資料庫
$query = "SELECT `name` , `info` FROM `temple-tot` WHERE `name` LIKE $searchtext AND `info` LIKE $searchtext "; //這裡請自己應用

$result = mysql_query($query, $my_db); //送出mysql命令

$err = mysql_error(); //取的錯誤狀況
if ($err){die("錯誤發生<br>錯誤指令:".$query."<br>錯誤訊息".$err);} //中斷程式並顯示錯誤訊息

if ( mysql_num_rows($result) != 0 ){ //表示有傳回資料
while( $res = mysql_fetch_array($result) ) //傳回陣列資料
{
//這邊顯示搜尋結果
}
}else{ //表示找不到資料
//這邊顯示沒有符合的資料
}


}else{ //沒有輸入文字
echo "<html>
<body>
<form action=./blank method=\"post\">
搜尋列 <input type=\"text\" name=\"searchtext\">
<select name=\"kind\">
<option vlaue=\"homepage\">個人網站</option>
<option vlaue=\"picture\">圖片</option>
<option vlaue=\"news\">新聞</option>
</form>
</body>
</html>";
}

?>
ethan
星球公民
星球公民
文章: 218
註冊時間: 2002-06-01 09:48
聯繫:

文章 ethan »

Q1:
PHP 中變數有分大小寫 $http_post_vars 請改以 $HTTP_POST_VARS
更正確的說,PHP 4.x 之後的版本,請使用 $_POST 來取得變數\r

Q2:
$query = "SELECT `name` , `info` FROM `temple-tot` WHERE `name` LIKE $searchtext AND `info` LIKE $searchtext ";

字串的部份必須由單引號或雙引號包起來
以你的例子來說,若\r
$searchtext = "abc";
那麼你的 $query 輸出的結果會是\r

SELECT `name` , `info` FROM `temple-tot` WHERE `name` LIKE abc AND `info` LIKE abc

abc 這時會被判斷為不正確的語法,而不是"字串",再者 LIKE 請配合 % 做萬用字元的比對,修正後應為\r

$query = "SELECT `name` , `info` FROM `temple-tot` WHERE `name` LIKE \"%" . $searchtext . "%\" AND `info` LIKE \"%" . $searchtext . "%\"";

以上只是例子,請還要考慮到 $searchtext 中含有雙引號,跳脫字元還有沖碼等相關問題,相關查詢 addslashes, stripslahes, magic quote, sql injection

Q3:
echo "<html>
<body>
<form action=./blank method=\"post\">
搜尋列 <input type=\"text\" name=\"searchtext\">
<select name=\"kind\">
<option vlaue=\"homepage\">個人網站</option>
<option vlaue=\"picture\">圖片</option>
<option vlaue=\"news\">新聞</option>
</form>
</body>
</html>";
}

最後這段沒有給 php 處理的必要時,請使用單純的 html 輸出\r
必免不須要的 php 執行時間

最後:
很多是基本上的關念問題,建議你還是先買本書吧...
http://www.php.net 是最好的資料來源
seeland
星球普通子民
星球普通子民
文章: 11
註冊時間: 2005-01-25 20:12

[問題] [問題] php的書請推薦該買那一本

文章 seeland »

感謝回信,我照您的改好了,但是還是出現"無法顯示網頁".看來還是先買書好好研究一下了.請問有關站內搜索引擎的php的書,該買那些呢?
ethan
星球公民
星球公民
文章: 218
註冊時間: 2002-06-01 09:48
聯繫:

文章 ethan »

您沒有說明在哪個步驟時連不到網頁

<form action=./blank method="post">

action 是指定接收表單資料的頁面,同樣的請用字串方式表示
應為 <form action="???.php" method="post">
或 <form method="post"> 未指定時,指的是同一個本身這個檔案

至於搜尋不外乎就是把表單的內容,以 select from 語法餵到資料庫中
至於怎麼前後怎麼處理,就端看您的須要
mysql select syntax:
http://dev.mysql.com/doc/mysql/en/select.html

是否有php書籍專門在討論站內搜尋就不清楚了
不過因為您的問題目前都是在基本語法上,所以才建議您先買本書\r
或者其實網路上的資源也很豐富
主題已鎖定

回到「外掛問題討論」