人大复印资料处理程序_查询篇

  <?

  //本程序为一个搜索,目前设计服务于文章库。

  //编者:孔秀祥。日期: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;

  ?>