|
<? //本程序为一个搜索,目前设计服务于文章库。 //编者:孔秀祥。日期:2001/4/10 if(!$UploadAction): require "config.php3"; if(!isset($table)){ //$table="artical"; } /* $link_id=@MYSQL_CONNECT($hostname,$dbusername,$dbpassword) OR DIE("不能连接数据库!"); @mysql_select_db("$dbname") or die("不能选择数据库!"); $q="select count(id) from $table where 1 "; $result = @mysql_query($q); $row = @mysql_fetch_array($result); $r_count=$row["count(artical_id)"]; */
?> <HTML><HEAD><TITLE>数据库搜索 </TITLE> </HEAD> <BODY><table align=center cellpadding="0" cellspacing="0" width="420" style="border-style:outset; border-bottom-width:thin; border-left-width:thin;border-right-width:thin;border-top-width:thin; border-color:#fefefe;"> <TH colspan=2 bgcolor=726cc5> <!--tr><td colspan=2 bgcolor=726cc5--> <font color=white face=Arial,Helvetica size=2> <CENTER> 本程序运行较费时间,需要耐心等待。</TH>
<FORM ENCTYPE= "multipart/form-data" NAME = "SubmitForm" ACTION= "<? $PHP_SELF ?>" METHOD = "POST"> <!--INPUT TYPE= "hidden" NAME = "MAX_FILE_SIZE" VALUE ="2500000"--> <INPUT TYPE= "hidden" NAME = "UploadAction" VALUE = "1"> <INPUT TYPE= "hidden" NAME = "table" VALUE = "<? echo $table; ?>" > <input type="hidden" name=table value="artical"> <tr border=1><td colspan=2 align=center>查询项目 <tr><td colspan=2 align=center><input type="radio" name=a_data value="data" checked>文章内容 <input type="radio" name=a_data value="title">文章标题 <input type="radio" name=a_data value="author">文章作者 <input type="radio" name=a_data value="month" >期刊名 <!--input type="radio" name=a_data value="type" >分类号<BR--> <TR><TD>搜索内容<TD><INPUT NAME = "data_search" TYPE = "text" VALUE="" SIZE = "30"></TD> <TR><TD>索引文件名<TD><INPUT NAME = "index_file" TYPE = "text" VALUE="" SIZE = "30"></TD> <TR><TD>索引标题<TD><INPUT NAME = "index_title" TYPE = "text" VALUE="" SIZE = "30"></TD> <!--TR><TD>从第<INPUT NAME = "s_id" TYPE = "text" VALUE="1" SIZE = "4"><td> 开始的<INPUT NAME = "step" TYPE = "text" VALUE="100" SIZE = "4">条,共有<? echo $r_count ?>条记录。</TD></TR--> <TR><TD>文章分类</TD> <TD> <SELECT size="1" name="catalog" TYPE = "int"> ?<OPTION selected value="11">语言理论</OPTION> <OPTION value="21">历史学</OPTION> <OPTION value="31">中国哲学</OPTION> <OPTION value="41">其他</OPTION> ?<!--OPTION selected value="11">语言理论</OPTION--> </SELECT> </TR> <TR><TD colspan=3 align=center> <INPUT NAME = "submit" VALUE = "提交" TYPE = "submit"> <INPUT NAME = "reset" VALUE = "重置" TYPE = "reset"></TD> </TD></TR> </FORM></CENTER></TABLE></BODY>
</HTML>
<?
else:
require "config.php3"; $UploadAction=0; $added=0; $die=0; $single_chinese=0; $TimeLimit=0; /*设置超时限制时间缺省时间为 30秒设置为0时为不限时 */ set_time_limit($TimeLimit);
if($data_search==""){ //做全库的索引 header("location:\progs\data_index.php3"); //$msg="搜索内容不能为空。"; //xueroom_error_exit($msg,$PHP_SELF); }
$link_id=@MYSQL_CONNECT($hostname,$dbusername,$dbpassword) OR DIE("不能连接数据库!"); @mysql_select_db("$dbname") or die("不能选择数据库!"); //SELECT id,file_name,artical_author from textfile where 1 LIMIT 0, 30 if($table=="artical") { $sid="artical_id"; $stitle="artical_title"; $sauthor="artical_author"; $sdata="artical_data"; $prog="readfile.php3"; if($a_data=="month" ) $key_where="where origin_periodical rlike '^.*$data_search.*'"; } if($a_data=="data" ) $key_where="where $sdata rlike '^.*$data_search.*'"; if($a_data=="title" ) $key_where="where $stitle rlike '^.*$data_search.*'"; if($a_data=="author" ) $key_where="where $sauthor rlike '^.*$data_search.*'";
//$q="select $sid,$stitle,$sauthor from $table where $sdata rlike '^.*$data_search.*'order by $stitle"; if(($a_data=="data")&&(strlen($data_search)==2)){ $q="select $sid,$stitle,$sauthor,$sdata from $table $key_where order by $stitle"; $single_chinese=1; } else{ $q="select $sid,$stitle,$sauthor from $table $key_where order by $stitle"; } $index_data=""; $count=0; $result =@ mysql_query($q);
if(!$result){ $msg="没有符合要求的记录。"; xueroom_error_exit($msg,$PHP_SELF); } while($row = @mysql_fetch_array($result)) { if(($single_chinese)&&(!myStrPos($row[$sdata],$data_search))) continue; else { $id=$row[$sid]; $title=$row[$stitle]; $author=$row[$sauthor]; if($table=="textfile") $title=preg_replace("/.txt/","",$title); // $data=$row["artical_data"]; //if(myStrPos($data,$data_search)) //可以用于寻找单个汉字。 // if(strpos($data,$data_search)){ //大于一个汉字时采用本判断式,速度较快。 $index_data.="<TR><TD><a href=".$dataurl."$prog?$sid=$id>$title</a><TD>作者:$author </TR>"; $count++; //fputs($fp, "<TR><TD><a href=".$dataurl."readfile.php3?artical_id=$id>$title</a><TD>作者:$author </TR>"); // } } } @mysql_free_result($result); mysql_close($link_id); set_time_limit(30); if($index_title==""){ $index_title="学而斋资料"; } $index_title=$index_title."_".$data_search;
$html_header="<html><head><title>$index_title</title></head><body>"; $html_header.="<h5>$index_title</h5>rn"; $dte_created=date('Y-m-d H:i:s'); $html_header.="<font color='Maroon' face='楷体' size=1>$index_describe 发现了 $count 条/查询日期:$dte_created</font><hr>rn"; $html_header.="<table>rn"; $data=$html_header.$index_data; $data.="<TABLE></body></html>"; /*If(strlen($index_file)==0){ header("Content-type: text/html"); echo $data; } else { $in_file="$index_file"; $index_file="\index\".$index_file; $fp=indexfile($index_file,$index_title,$index_describe); fputs($fp, "发现了 $count 条"); fputs($fp, "查询日期:$dte_created</font><hr>rn"); fputs($fp,"<table>rn"); fputs($fp, $index_data); fputs($fp, "<TABLE></body></html>"); fclose($fp); echo"点<a href=$index_url$in_file>这里</a>看新加入的文件索引<BR>"; } */ If(strlen($index_file)!=0){ $in_file="$index_file"; $index_file="\index\".$index_file; } else $in_file="temp.html"; $fp=indexfile($index_file,$index_title,$index_describe); fputs($fp, "发现了 $count 条"); fputs($fp, "查询日期:$dte_created</font><hr>rn"); fputs($fp,"<table>rn"); fputs($fp, $index_data); fputs($fp, "<TABLE></body></html>"); fclose($fp);
// echo"点<a href=$index_url$in_file>这里</a>看新加入的文件索引<BR>"; header("location:$index_url$in_file");
//echo"索引文件为 $index_file"; echo"<BR><A HREF = $PHP_SELF>返回 </A>";
endif; ?> |
|