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

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

版主: 版主管理群

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

[問題] action的問題

文章 seeland »

真感謝您,您好熱心啊!
先解釋一下您的問題:我是在何時會出現"無法顯示網頁"呢?
當我輸入網址http://127.0.0.1/search.php後,
頁面會出現一個搜尋用的空白欄,右邊有一個下拉式選單,可選擇個人網站,圖片,新聞.
我選擇"個人網站",並於空白欄內試打"松山寺"三個字.(這筆資料在我建的資料表中有)然後按enter鍵,就出現"無法顯示網頁".

我照您所說的去改action.先新建一個test.php檔,然後將search.php的action改成這樣:
<from action="test.php" method="post">
或這樣\r
<form method="post">

但是在網址中輸入http://127.0.0.1/search.php時,就顯示如下:
Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in c:\appserv\www\search.php on line 45
45行就是action指令的那一行.
所以還是不知道到底是怎麼回事.
請求您耐心解答.感恩!
messagebox
竹貓忠實會員
竹貓忠實會員
文章: 981
註冊時間: 2003-02-24 23:34

文章 messagebox »

基本上~你不只php觀念有問題~~
連html也有問題~~~

我建議你 一步一步學起~
不然就是找人幫你寫~~~
seeland
星球普通子民
星球普通子民
文章: 11
註冊時間: 2005-01-25 20:12

[問題] 謝謝指教

文章 seeland »

:-? 謝謝指教.我已請人幫忙寫了.但是還是希望自己能盡量學習而已.
如果給大家造成困擾,那麼真的很抱歉.
我同時也想知道,在貴網站能得到資訊到什麼程度.
看來比較適合給對php有一定程度的高手們交流用.
不過還是很感激您們的熱心指教.真的.這是個好網站.
等我再多充實一些後,再來與您們請教了.謝謝大家!
ethan
星球公民
星球公民
文章: 218
註冊時間: 2002-06-01 09:48
聯繫:

文章 ethan »

哎呀~ 所以不能照抄囉
其實我是接著我的 Q3 再回覆
可是我想你的後面輸出的 html 還是使用php echo
所以 <form action="search.php" method="post">
應該改為 <form action='search.php' method='post'>
或 <form action=\"search.php\" method=\"post\">
從 Q2 的例子中應該也可以發現這個問題才是\r

因為竹貓是 phpbb 的支援站台,而不是 php 的教學網站
所以偵對 php 本身的資源較少,不過站內高手雲集
只要你問的方法是對的,應該都可以得到一個方向
seeland
星球普通子民
星球普通子民
文章: 11
註冊時間: 2005-01-25 20:12

[問題] 下週一告知答案

文章 seeland »

:(( 好感動啊!太感謝您啦!您真的好熱心.本來想放棄了...看到回信,決定還是再試一試.不論我輸入\r

<form action='search.php' method='post'>

或 <form action=\"search.php\" method=\"post\">

按http://127.0.0.1/search.php時,皆出現如下的訊息:
Parse error: parse error, unexpected '?' in c:\appserv\www\search.php
on line 48

我已連絡上幫忙寫程式的人.他說下週一再研究.
因為已經放假了.
到時一定會再回來告訴您我是哪裡錯了.
不要擔心我的問題了.我應該可以解決的.非常感謝您!
seeland
星球普通子民
星球普通子民
文章: 11
註冊時間: 2005-01-25 20:12

[問題] 問題已解決

文章 seeland »

:-D

今天有一位高手幫我把問題解決了.真是太好了.

我的問題主要是需要做下列兩項的修正:
1.資料表名稱不能有橫線:
我資料表的檔名本來是"temple-tot",後來發現檔名不能有中間那條橫線"-",
所以將檔名更改為"templetot".
2.我的欄名分別是id,name,country,place,info,link.
$query 修正如下:

$query ="SELECT `id`,`name`,`country`,`place`,`info`,`link` FROM templetot WHERE `name` LIKE \"%" . $searchtext . "%\"" ;

至於action,則寫成:
<form action='search.php' method='post'>

這樣就可以做站內查詢了.
真的很感謝大家熱心提供寶貴意見.這個網站太棒了.

全文如下:(其中的表格設定是因為我設定將搜尋結果套到表格裡)

<?php

//------[基本設定 ]-------
$mysql_server_name = "localhost";
$mysql_username = "root";
$mysql_password = "密碼";
$mysql_database = "資料庫名稱";
//-------

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

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

$my_db = mysql_connect("localhost","root","密碼"); //連結sql

$conn=mysql_connect( $mysql_server_name, $mysql_username, $mysql_password );

$query ="SELECT `id`,`name`,`country`,`place`,`info`,`link` FROM templetot WHERE `name` LIKE \"%" . $searchtext . "%\"" ;
//這裡請自己應用\r

$result = mysql_db_query( $mysql_database, $query,$conn ); //送出mysql命令

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

if ( mysql_num_rows($result) != 0 ){ //表示有傳回資料

//表格開始
echo "<table border=1 cellspacing=0 cellpading=0>
";


//印出欄位名稱\r

echo "<tr>
";

for($i=0;$i<mysql_num_fields($result);$i++)
{
echo "<td nowrap>" . mysql_field_name($result,$i) . "
";
}

echo "</tr>
";


//將資料移動回第一筆
mysql_data_seek($result,0);


//印出資料內容
while($row=mysql_fetch_row($result))
{
echo "<tr>
";

for($i=0;$i<mysql_num_fields($result);$i++)
{
echo "<td nowrap>$row[$i]</td>
";
}

echo "</tr>
";
}

//表格結束
echo "</table>";

mysql_free_result($result);

}
//這邊顯示搜尋結果
else{
echo "<html>



<form action='search4.php' 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>";
}
}

?>
主題已鎖定

回到「外掛問題討論」