今日疑问(已解决)——PHP多重条件搜索。。。
本帖最后由 Unbekannt 于 2009-4-1 14:24 编辑想了半天也没想出好办法。。。如何在搜索时自动忽略掉空白呢。。。就像学校图书馆一样。。。
如果所有为空则为全部书籍, 如果部分不为空, 则作为搜索条件进行搜索。。。有什么好办法或者思路么。。。界面见二楼。。。
===========界面传过来的部分===================
if($_SERVER['REQUEST_METHOD']=='POST')
{
if(!$_POST['s01']) $s01=0;
if(!$_POST['s02']) $s02=0;
if(!$_POST['s03']) $s03=0;
if(!$_POST['s04']) $s04=0;
if(!$_POST['s05']) $s05=0;
if(!$_POST['s06']) $s06=0;
if(!$_POST['s07']) $s07=0;
if(!$_POST['s08']) $s08=0;
if(!$_POST['s09']) $s09=0;
if(!$_POST['s10']) $s10=0;
if(!$_POST['s11']) $s11=0;
if(!$_POST['s12']) $s12=0;
if(!$_POST['s13']) $s13=0;
if(!$_POST['s14']) $s14=0;
if(!$_POST['s15']) $s15=0;
if(!$_POST['s16']) $s16=0;
if(!$_POST['s17']) $s17=0;
if(!$_POST['s18']) $s18=0;
if(!$_POST['s19']) $s19=0;
if(!$_POST['s20']) $s20=0;
if(!$id)
{
$data['F_BDT_IS_DEL'] = 0;
}
$data['F_BDT_AUTOR'] = $_POST['lastname'];
$data['F_BDT_F_AUTOR'] = $_POST['othername'];
$data['F_BDT_TITEL'] = $_POST['title'];
$data['F_BDT_UTITEL'] = $_POST['utitle'];
$data['F_BDT_PAGENR'] = $_POST['page'];
$data['F_BDT_YEAR'] = $_POST['year'];
$data['F_BDT_LOC'] = $_POST['location'];
$data['F_BDT_IS_S01'] = $s01;
$data['F_BDT_IS_S02'] = $s02;
$data['F_BDT_IS_S03'] = $s03;
$data['F_BDT_IS_S04'] = $s04;
$data['F_BDT_IS_S05'] = $s05;
$data['F_BDT_IS_S06'] = $s06;
$data['F_BDT_IS_S07'] = $s07;
$data['F_BDT_IS_S08'] = $s08;
$data['F_BDT_IS_S09'] = $s09;
$data['F_BDT_IS_S10'] = $s10;
$data['F_BDT_IS_S11'] = $s11;
$data['F_BDT_IS_S12'] = $s12;
$data['F_BDT_IS_S13'] = $s13;
$data['F_BDT_IS_S14'] = $s14;
$data['F_BDT_IS_S15'] = $s15;
$data['F_BDT_IS_S16'] = $s16;
$data['F_BDT_IS_S17'] = $s17;
$data['F_BDT_IS_S18'] = $s18;
$data['F_BDT_IS_S19'] = $s19;
$data['F_BDT_IS_S20'] = $s20;
$data['F_BDT_PDF_URL'] = $_POST['bookpdfl'];
$data['F_BDT_CONTENT'] = $_POST['content'];
...
}
==========这个是所需调用的方法============
public function GetDocList($page=1,$pagesize,$data,$isdel=0)
{
$start = ($page-1)*$pagesize;
$sql_fields = "*";
$sql_from = "EE_BOOKS_DETAIL";
$sql_where = "";
if($isdel)
{
$sql_where = "F_BDT_IS_DEL = 1";
}
if($data)
{
$sql_where = "这里写不下去了。。。";
}
$sql_order = "F_ID DESC";
$sql = "SELECT $sql_fields FROM $sql_from WHERE $sql_where ORDER BY $sql_order LIMIT $start, $pagesize";
return $this->($sql);
}
RE: 今日疑问——PHP多重条件搜索。。。
本帖最后由 Unbekannt 于 2009-3-10 11:03 编辑俄~~~~上传不了图片了。。。http://i365.photobucket.com/albums/oo98/zx78/suchen.jpg roger that. 3q 理论上来讲对于你这种程序不应该使用完全的搜索,还是使用模糊搜索把!<?php
$search_item1 = $_POST['search1'];
$search_item2 = $_POST['search2'];
$sql = "SELECT * FROM $database WHERE item1 LIKE '%$search_item1%' AND item2 LIKE '%$search_item2%' ORDER BY item1 ASC";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)){
$item1 = $row;
$item2 = $row;
}
?> 理论上来讲对于你这种程序不应该使用完全的搜索,还是使用模糊搜索把!
freisinger 发表于 2009-3-31 18:36 http://www.dolc.de/forum/images/common/back.gif
是的, 后来发现对于复选框来说, 模糊搜索其实结果和精确搜索是一样的。。。这样就剩了很多事。。。
页:
[1]