axin 发表于 2016-7-11 11:14:31

模块搜索有限制吗?

我用信息(info)模块建立了几个栏目,但是做搜索的时候有一个模块却搜索不到东西,我单独写sql 指定了那个模块的表名是能读取到那个模块的所有东西的,我的搜索 代码
$pagesize = 20;
                $offset = ($page-1)*$pagesize;
                $items = $db->count($table, $condition, $DT['cache_search']);
                $pages = pages($items, $page, $pagesize);
                if($items) {
                        $order = $dorder[$order] ? " ORDER BY $dorder[$order]" : '';
                        $result = $db->query("SELECT a.*,b.moduleid FROM {$table} a,d1_category b WHERE a.catid=b.catid and {$condition}{$order} LIMIT {$offset},{$pagesize}", $DT['cache_search'] && $page == 1 ? 'CACHE' : $page, $DT['cache_search']);
                        if($kw) {
                              $replacef = explode(' ', $kw);
                              $replacet = array_map('highlight', $replacef);
                        }
                        while($r = $db->fetch_array($result)) {
                              //print_r($r);
                              $r['adddate'] = timetodate($r['addtime'], 5);
                              $r['editdate'] = timetodate($r['edittime'], 5);
                              if($lazy && isset($r['thumb']) && $r['thumb']) $r['thumb'] = DT_SKIN.'image/lazy.gif" original="'.$r['thumb'];
                              $r['alt'] = $r['title'];
                              $r['title'] = set_style($r['title'], $r['style']);
                              if($kw) $r['title'] = str_replace($replacef, $replacet, $r['title']);
                              if($kw) $r['testbt'] = str_replace($replacef, $replacet, $r['testbt']);
//                              if(!$r['islink']) $r['linkurl'] = $MOD['linkurl'].$r['linkurl'];
                              $tags[] = $r;                        
                              $modid=$r['moduleid'];
                        }
                        $db->free_result($result);
                        if($page == 1 && $kw) keyword($kw, $items, $moduleid);
               
                        if(($DT_TIME - $DT['search_limit']) > get_cookie('last_search')){
                              $domain=gdomain($modid);
                              if($domain){
                                        $url=$domain.'search.php?kw='.$kw.'&fields=5'.'&moneyorder='.$moneyorder.'&page='.$page.'&modid='.$modid;
                                        dheader($url);
                              }
                        }
                }
我打印过 $table 和 $contidion,分别是 d1_info_n 和 status=3 AND testbt LIKE '%烧烤%'都是正确的,但是那个模块却搜索不到信息,其他的都能,请问有谁知道这可能是什么原因吗??

axin 发表于 2016-7-11 11:19:50

其实 我还有一点不懂 就是 $result = $db->query("SELECT a.*,b.moduleid FROM {$table} a,d1_category b WHERE a.catid=b.catid and {$condition}{$order} LIMIT {$offset},{$pagesize}", $DT['cache_search'] && $page == 1 ? 'CACHE' : $page, $DT['cache_search']);   这条sql语句 里面的 a.*,b.moduleid是什么意思

axin 发表于 2016-7-11 11:20:11

看到的请帮帮忙,谢谢

axin 发表于 2016-7-11 11:26:30

$items = $db->count($table, $condition, $DT['cache_search']);这句就读不到这个模块的信息了,打印是0,搜索其他模块的东西都打印出对应的条数,为什么?都是用内置info做的,表名也是统一的
页: [1]
查看完整版本: 模块搜索有限制吗?