迅睿CMS框架是一款PHP8高性能·簡單易用的CMS開源開發框架,基于MIT開源許可協議發布,免費且不限制商業使用,是免費開源的產品,以萬端互聯為設計理念,支持的微信公眾號、小程序、APP客戶端、移動端網站、PC網站等多終端式管理系統。
聯系官方銷售客服
1835022288
028-61286886
請問~第二個related如何過濾掉第一個related輸出的文章?求助~
{related module=MOD_DIR tag=$songname,$singer num=$count NOT_id=$id order=RAND} {/related} {related module=MOD_DIR tag=$tag num=$n NOT_id=$id order=RAND} {/related}
{php $msid=$id;} {related module=MOD_DIR tag=$songname,$singer num=$count NOT_id=$id order=RAND} {php $msid.=$t['id'].',';}{/related} {related module=MOD_DIR tag=$tag num=$n NOT_id=$msid order=RAND} {/related}
回復@迅睿框架聯合創始人 大佬,沒反應啊,還是一樣的結果,是不是哪里搞錯啦,源代碼是這樣的
{related module=MOD_DIR tag=$songname,$singer num=$count NOT_id=$id order=RAND} <li class="item"></li> {/related} {php $n=6-$count;} {related module=MOD_DIR tag=$tag num=$n NOT_id=$id order=RAND} <li class="item"></li> {/related}
li里面的省略了。
{php $msid=$id;$aa=$songname.','.$singer;} {related module=MOD_DIR tag=$aa num=$count NOT_id=$id order=RAND} // 這里的$count是哪里來的 <li class="item"></li> {php $msid.=$t['id'].',';}{/related} {php $n=6-$count;} {if $n} {related module=MOD_DIR tag=$aa num=$n NOT_id=$msid order=RAND} <li class="item"></li> {/related} {/if}
回復@迅睿框架聯合創始人 還是和原來的結果一樣,$count是tag=$songname,$singer的數量
{related module=MOD_DIR tag=$songname,$singer NOT_id=$id} {/related} {if !$count}
回復@迅睿框架聯合創始人 $tag里面是包含$songname,$singer的,第一個related先調和當前文章$songname,$singer相同的內容,不足6條的用第2個related補齊,并過濾掉第一個related調過的內容
我給你提供的代碼思路就是這個意思,第一個num應該改為6,不應該寫$count,按照我這個思路你好好想一想
回復@迅睿框架聯合創始人 其他地方能大概看明白,{php $msid.=$t['id'].',';}這是啥意思看不太懂,程序我不是特別了解 ??
{php $msid.=$t['id'].',';}的意思是把本次查詢的id號統計起來,下次循環就排除這些內容
回復@云畔設計 謝謝大佬 ,我用echo $msid輸出了一下是75和74,發現需要排除的id是對的,但是就是{related module=MOD_DIR tag=$tag num=$n NOT_id=$msid order=RAND}這一段,只排除了一篇文章,是不是NOT_id只支持一個值的排除啊 ??
回復@迅睿框架聯合創始人 官方大佬也來看看,邏輯沒問題了,輸出的值是對的
NOTIN_id=1,2,3,4
參考文檔:《條件循環修飾符、通配符》
不要只復制代碼拿去用,而要明白為什么這樣寫,這樣寫的意圖是什么,每句話的意義是什么,學會了邏輯思路,以后遇到同類型的問題就迎刃而解了
回復@迅睿框架聯合創始人 解決了,感謝大佬~學到了!!
回復@迅睿框架聯合創始人 大佬,沒反應啊,還是一樣的結果,是不是哪里搞錯啦,源代碼是這樣的
li里面的省略了。
回復@迅睿框架聯合創始人 還是和原來的結果一樣,$count是tag=$songname,$singer的數量
回復@迅睿框架聯合創始人 $tag里面是包含$songname,$singer的,第一個related先調和當前文章$songname,$singer相同的內容,不足6條的用第2個related補齊,并過濾掉第一個related調過的內容
我給你提供的代碼思路就是這個意思,第一個num應該改為6,不應該寫$count,按照我這個思路你好好想一想
回復@迅睿框架聯合創始人 其他地方能大概看明白,{php $msid.=$t['id'].',';}這是啥意思看不太懂,程序我不是特別了解 ??
{php $msid.=$t['id'].',';}的意思是把本次查詢的id號統計起來,下次循環就排除這些內容
回復@云畔設計 謝謝大佬 ,我用echo $msid輸出了一下是75和74,發現需要排除的id是對的,但是就是{related module=MOD_DIR tag=$tag num=$n NOT_id=$msid order=RAND}這一段,只排除了一篇文章,是不是NOT_id只支持一個值的排除啊 ??
回復@迅睿框架聯合創始人 官方大佬也來看看,邏輯沒問題了,輸出的值是對的
NOTIN_id=1,2,3,4
參考文檔:《條件循環修飾符、通配符》
不要只復制代碼拿去用,而要明白為什么這樣寫,這樣寫的意圖是什么,每句話的意義是什么,學會了邏輯思路,以后遇到同類型的問題就迎刃而解了
回復@迅睿框架聯合創始人 解決了,感謝大佬~學到了!!