欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-20 10:03:42
<?
//本程序为一个搜索,目前设计服务于文章库。
//编者:孔秀祥。日期: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;
?>