|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
开发相册系统过程中就有过这样的问题,因为没有交流好,出现重复工作问题,因为文档没有详细的说明而经常临时问对方。比方:假如必要某篇文章中包括tag表中的id为1,2,3的tagname,也就是id为1,2,3的标签,则在增加文章的时分用$result=implode(",",$_POST[tagid]);//把猎取的checkbox的数组用逗号举行支解$_POST[tagid]为猎取前台的复选框的数组,前台html部分代码为:<inputtype="checkbox"name="tagid[]"value="{$tag.id}"id="{$tag.id}"><labelfor="{$tag.id}">{$tag.tagname}</label>//这里是thinkphp的写法,原生的写法迥然不同如许存储文章的时分,只必要mood表中的tag=$result便可。数据已存好了,接上去我们必要完成的是,点击响应的标签查询出一切包括该标签的文章。假如我们必要显现某篇文章所包括的一切标签,我们要先猎取该片文章的id,查询出该篇文章的tag,用支解函数$taglist=explode(,,$source);//$source为文章的tag值,比方:把tag=“1,2,3”支解为一个数组然后在前台能够如许写:for($index=0;$index<count($taglist);$index++){$tagsa=$tagdata->where(id=%d,$taglist[$index])->select();echo"<aid=taghref=location/tag/".$tagsa[0][id].">".($tagsa[0][tagname])."</a>   ";}轮回输入tagname,url传tag表的id值,接上去只必要在吸收url值的中央写一个含混查询的sql,文章表的taglike%id%。注:以上的查询语句都是thinkphp的语法。如许用含混查询会呈现一个成绩,由于比方:文章表的个中一个tag字段大概包括1,5另外一个tag字段大概包括10,23假如查询taglike%1%的时分会查询出tag字段为1,5和tag字段为10,23的两篇文章。即便like前提为%1,%大概%,1,%也是不可的。因而这里我的写法是在前台写php代码,用两个嵌套的for轮回来办理,以下:复制代码$map[tag]=array(like,%.tagid.%);//dump($selecttag[$i][id]);$arr_mood=$mood->where($map)->select();for($a=0;$a<count($arr_mood);$a++){$source=$arr_mood[$a][tag];$taglist=explode(,,$source);for($index=0;$index<count($taglist);$index++){if(tagid==$taglist[$index]){//当传过去的tagid在文章的tag字段中存在,则输入。dump($arr_mood[$a][title]);//这里能够用echo输入至前台}}}建议大家买一本书,而不光是在网上看一些零碎的资料,一本书毕竟会讲的系统一些,全面一些,而且印刷的书不受电脑的限制,但是建议在看书的时候最好旁边有电脑,这样可以很及时地上机实践。 |
|