萍聚社区-德国热线-德国实用信息网

 找回密码
 注册

微信登录

微信扫一扫,快速登录

查看: 1943|回复: 4

今日疑问(已解决)——PHP多重条件搜索。。。

[复制链接]
发表于 2009-3-10 11:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
本帖最后由 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);
        }
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2009-3-10 11:47 | 显示全部楼层

RE: 今日疑问——PHP多重条件搜索。。。

本帖最后由 Unbekannt 于 2009-3-10 11:03 编辑

俄~~~~上传不了图片了。。。[img][/img]
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2009-3-11 10:13 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2009-3-31 18:36 | 显示全部楼层
理论上来讲对于你这种程序不应该使用完全的搜索,还是使用模糊搜索把!
  1. <?php
  2.     $search_item1 = $_POST['search1'];
  3.     $search_item2 = $_POST['search2'];
  4.     $sql = "SELECT * FROM $database WHERE item1 LIKE '%$search_item1%' AND item2 LIKE '%$search_item2%' ORDER BY item1 ASC";
  5.     $result = mysql_query($sql);
  6.     while ($row = mysql_fetch_array($result)){
  7.         $item1 = $row[item1];
  8.         $item2 = $row[item2];
  9.     }
  10. ?>
复制代码
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2009-4-1 14:17 | 显示全部楼层
理论上来讲对于你这种程序不应该使用完全的搜索,还是使用模糊搜索把!
freisinger 发表于 2009-3-31 18:36


是的, 后来发现对于复选框来说, 模糊搜索其实结果和精确搜索是一样的。。。这样就剩了很多事。。。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

手机版|Archiver|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网 |网站地图

GMT+2, 2024-5-1 01:27 , Processed in 4.337748 second(s), 21 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表