最后那行 WHERE ac.articlecat=8;等号后面的数字,自己换存在的几个分类编号试一试,直接在mysql里面查询写的这个应该现在是常量,到时候就是变量了,从$_GET里面取到的 类似于这样 WHERE ac.articlecat=$catid;
SELECT * FROM articles WHERE articlecat = (SELECT catid FROM articlescat WHERE catname='aaaa')上面是通过分类名字找到匹配的文章,如果需要模糊查询看下面SELECT * FROM articles WHERE articlecat IN (SELECT catid FROM articlescat WHERE catname LIKE '%aaaa%')在编码的时候把分类名字用变量代替就可以了。上面的代码你先到查询分析器里面查查是不是你要的结果。
回fredyj(醉爱酸奶) 我当然传值了, SELECT ac.* FROM articles a LEFT JOIN articlescat ac ON a.articlecat=ac.catid 没有加a.articlecat=8;能显示出结果!回helloyou0(你好!) 我想要的是后一种效果,就是包括该分类下子分类的所有文章! 请赐教!谢谢!我使用的是mysql,请大家帮忙看看!谢谢!
我说过的sql都不算………… 看错名字了 Orz
SELECT a.* FROM articles a LEFT JOIN articlescat ac ON a.articlecat=ac.catid WHERE a.articlecat IN (1,3,4,5);括号里面的 IN (1,3,4,5) 就是分类下子分类的编号集合,用递归获得或者数据库中增加一个新字段实现支持 zhys9(OoP.plorer) FEB15(张郎) helloyou0(你好!) 楼上几位的~ 囧
FROM articles a
LEFT JOIN articlescat ac
ON a.articlecat=ac.catid
WHERE ac.articlecat=8;
回FEB15(张郎)
在articlescat中,catid是分类号,parent_id是父分类号
在articles表中,id是文章id,articlecat是文章所属的分类。我要是想实现,选中某个分类后,可显示该分类下的文章。
请大家帮忙看看,谢谢!
WHERE ac.articlecat=8;等号后面的数字,自己换存在的几个分类编号试一试,直接在mysql里面查询写的这个应该现在是常量,到时候就是变量了,从$_GET里面取到的
类似于这样
WHERE ac.articlecat=$catid;
我当然传值了,
SELECT ac.*
FROM articles a
LEFT JOIN articlescat ac
ON a.articlecat=ac.catid 没有加a.articlecat=8;能显示出结果!回helloyou0(你好!)
我想要的是后一种效果,就是包括该分类下子分类的所有文章!
请赐教!谢谢!我使用的是mysql,请大家帮忙看看!谢谢!
FROM articles a
LEFT JOIN articlescat ac
ON a.articlecat=ac.catid
WHERE a.articlecat IN (1,3,4,5);括号里面的 IN (1,3,4,5) 就是分类下子分类的编号集合,用递归获得或者数据库中增加一个新字段实现支持 zhys9(OoP.plorer) FEB15(张郎) helloyou0(你好!) 楼上几位的~ 囧