>  기사  >  백엔드 개발  >  PHPCMS全站搜索中的致命问题 此问题是phpcms论坛多年来一直没有解决的问题,难!

PHPCMS全站搜索中的致命问题 此问题是phpcms论坛多年来一直没有解决的问题,难!

WBOY
WBOY원래의
2016-06-23 13:40:031274검색

那就是不显示,但是能搜到,比如全站搜索时,除专题外的别的内容是能搜到的,但是搜专题却发现有显示条数,但是没有结果显示,如图

我想可能是没有搜到字段吧,因为别的栏目怎么显示内容呢,而偏偏专题不显示,但不显示内容可是却找到了,所以我认为是字段了出了问题,
那么如何改造呢,下面是代码
   这个问题是PHPCMS一直没有解决的问题,可以说是老大难的问题,并且是多年了,N年前就有人问,N年后还是没有解决,可见中国的PHP水平哈,当然不算我,因为我是菜鸟,哈!

{template "content","header"}<?php if(!isset($CATEGORYS)) { $CATEGORYS = getcache('category_content_'.$siteid,'commons'); } ?><?php $TYPE = getcache('type_content','commons');?>	    <!--Content:Start-->    <div class="content">        <div class="plc2">           当前位置:</span><a href="{siteurl($siteid)}">首页</a> &raquo; {catpos($catid)}<a href="{siteurl($siteid)}/index.php">全站搜索</a> >           </div>        <div class="left2">            <div class="left2top">            </div>            {php if($totalnums==0)showmessage(L('<span style="color:#F00">没有查到内容,请再试!谢谢!</span>'), APP_PATH);}             <div class="jg">获得约 {$totalnums} 条结果 (用时{sprintf("%01.2f", $execute_time)} 秒)</div>            <div class="left2_main">                <div class="search_con">                {loop $data $i $r}                    <div class="l2tit" style="width: 95%;">                        [<a target="_blank" href="{$CATEGORYS[$r[catid]][url]}">{$CATEGORYS[$r[catid]][catname]}</a>]                        <a href="{$r[url]}" class="f14">{$r[title]}</a><span class="f11">[{format::date($r[inputtime], 1)}]</span></div>                    <div class="clear"></div>                    <dl class="sear_dl">                    {if $r['thumb']}<dt class="dt2"><a href="{$r[url]}"><img  src="{$r[thumb]}" / alt="PHPCMS全站搜索中的致命问题 此问题是phpcms论坛多年来一直没有解决的问题,难!" ></a></dt>{/if}                        <dd class="d2">{$r[description]} <a href="{$r[url]}" class="cRed">[查看]</a></dd>                        <dd>                            <a href="{$r[url]}" class="a_d">{$r[url]}</a><img  src="statics/userimg/x3.gif" title="3星" class="vam" / alt="PHPCMS全站搜索中的致命问题 此问题是phpcms论坛多年来一直没有解决的问题,难!" ></dd>                    </dl>                   	                                    {/loop}                      {if empty($data)}未找到结果{/if}	                                                  </div>            </div>            <div class="left2bot">            </div>        </div>        <div class="right2">            <div class="right2top">            </div>            <div class="right2_main">                <h4 class="t03">                    <a href="http://www.sjpt88.com/html/news/">资讯中心</a></h4>                     {pc:content action="lists"  catid="21" thumb="" order="id DESC"  num="20" return="datad" }<ul class="n_rt_ul2">{loop $datad $n $vv}  <li><img  src="http://www.sjpt88.com/statics/userimg/sico15.gif" / alt="PHPCMS全站搜索中的致命问题 此问题是phpcms论坛多年来一直没有解决的问题,难!" >  <a href="{$vv['url']}" title="{$vv['title']}">{$vv['title']}</a></li>{/loop}<div class="clear"></div></ul>{/pc}                                                </div>            <div class="right2_main">                <h4 class="t03">                    <a href="">随机文章</a></h4><ul class="n_rt_ul2">{php $datav = suiji(1,0,1,0,15)}        {loop $data $r}  <li><a href="{$r['url']}" title="{$r['title']}">{$r['title']}</a></li>{/loop}<div class="clear"></div></ul>{/pc}                                                </div>            <div class="left2bot">            </div>        </div>        <div class="clear">        </div>    </div>    <!--Content:End--><script type="text/javascript" src="{JS_PATH}search_history.js"></script>{if $setting['suggestenable']}<script type="text/javascript" src="{JS_PATH}jquery.suggest.js"></script><script type="text/javascript" src="{JS_PATH}search_suggest.js"></script>{/if}{template "content","footer"}

再下面是html模板中的代码
<div class="search_con">                {loop $data $i $r}                    <div class="l2tit"   style="max-width:90%">                        [<a target="_blank" href="{$CATEGORYS[$r[catid]][url]}">{$CATEGORYS[$r[catid]][catname]}</a>]                        <a href="{$r[url]}" class="f14">{$r[title]}</a><span class="f11">[{format::date($r[inputtime], 1)}]</span></div>                    <div class="clear"></div>                    <dl class="sear_dl">                    {if $r['thumb']}<dt class="dt2"><a href="{$r[url]}"><img  src="{$r[thumb]}" / alt="PHPCMS全站搜索中的致命问题 此问题是phpcms论坛多年来一直没有解决的问题,难!" ></a></dt>{/if}                        <dd class="d2">{$r[description]} <a href="{$r[url]}" class="cRed">[查看]</a></dd>                        <dd>                            <a href="{$r[url]}" class="a_d">{$r[url]}</a><img  src="statics/userimg/x3.gif" title="3星" class="vam" / alt="PHPCMS全站搜索中的致命问题 此问题是phpcms论坛多年来一直没有解决的问题,难!" ></dd>                    </dl>                   	                                    {/loop}                      {if empty($data)}未找到结果{/if}	                                                  </div>

也许有人会说,是不是return=data有冲突,放心吧,没这回事,我把头都去掉了,也改了data的名称了,试了N次了,还是一样,所以这种可能不会有的


回复讨论(解决方案)

没读到字段而已,这不难解决吧。实在不行,搜索部分不走控制器自己写个PC标签就行了

<?php $keywords=$_GET['keywords'];?>{pc:get sql="Select * from `news` where `title` like '%$keywords%'" num='20'}{print_r($data)}{/pc}

你可以试试。。

没读到字段而已,这不难解决吧。实在不行,搜索部分不走控制器自己写个PC标签就行了

<?php $keywords=$_GET['keywords'];?>{pc:get sql="Select * from `news` where `title` like '%$keywords%'" num='20'}{print_r($data)}{/pc}

你可以试试。。


这个办法确实不错,不过有一个问题我又麻爪了
因为这里要写判断的,是两个分枝
{if(是专题)}.....................{else}...........
让我麻爪的地方是,执行结果中有loop循环,这样的句子如何写呢
比如我这样写
{if(是专题)}{loop $data $i $r}{/loop}
{else}{loop $data $i $r}{/loop}
我试了一下,显然是不行的,出现的问题是if执行的loop循环也是有大括号的
那么问题来了,到底应该怎么写呢

没读到字段而已,这不难解决吧。实在不行,搜索部分不走控制器自己写个PC标签就行了

<?php $keywords=$_GET['keywords'];?>{pc:get sql="Select * from `news` where `title` like '%$keywords%'" num='20'}{print_r($data)}{/pc}

你可以试试。。


如果这样写{if $tid==90}{loop $data $i $r}111{/loop}{/if}会有下面的错误提示,供你参考

Parse error: syntax error, unexpected '}', expecting ')' in D:\wwwroot\jtx127\wwwroot\caches\caches_template\jnhd\search\list.php on line 17


没读到字段而已,这不难解决吧。实在不行,搜索部分不走控制器自己写个PC标签就行了

<?php $keywords=$_GET['keywords'];?>{pc:get sql="Select * from `news` where `title` like '%$keywords%'" num='20'}{print_r($data)}{/pc}

你可以试试。。


如果这样写{if $tid==90}{loop $data $i $r}111{/loop}{/if}会有下面的错误提示,供你参考

Parse error: syntax error, unexpected '}', expecting ')' in D:\wwwroot\jtx127\wwwroot\caches\caches_template\jnhd\search\list.php on line 17

print_r($data)数据可以正常显示吗?



没读到字段而已,这不难解决吧。实在不行,搜索部分不走控制器自己写个PC标签就行了

<?php $keywords=$_GET['keywords'];?>{pc:get sql="Select * from `news` where `title` like '%$keywords%'" num='20'}{print_r($data)}{/pc}

你可以试试。。


如果这样写{if $tid==90}{loop $data $i $r}111{/loop}{/if}会有下面的错误提示,供你参考

Parse error: syntax error, unexpected '}', expecting ')' in D:\wwwroot\jtx127\wwwroot\caches\caches_template\jnhd\search\list.php on line 17

print_r($data)数据可以正常显示吗?
解决了,按你的方法做就行,是我多想了,画蛇添足了,哈,给你加分,这是你应该得的,多谢!




没读到字段而已,这不难解决吧。实在不行,搜索部分不走控制器自己写个PC标签就行了

<?php $keywords=$_GET['keywords'];?>{pc:get sql="Select * from `news` where `title` like '%$keywords%'" num='20'}{print_r($data)}{/pc}

你可以试试。。


如果这样写{if $tid==90}{loop $data $i $r}111{/loop}{/if}会有下面的错误提示,供你参考

Parse error: syntax error, unexpected '}', expecting ')' in D:\wwwroot\jtx127\wwwroot\caches\caches_template\jnhd\search\list.php on line 17

print_r($data)数据可以正常显示吗?
解决了,按你的方法做就行,是我多想了,画蛇添足了,哈,给你加分,这是你应该得的,多谢!

多谢你的分,三年没来论坛玩了,不是因为下载把分花完了也不会跑过来。{$pages} 依然可以输出分页,需要在{pc}标签上附加一个page属性,比如{pc:get sql="Select * from `news` where `title` like '%$keywords%'" num='20' page="$_GET['page']"}
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.