让我郁闷的不行了……sql语句……问题多多!你要走两步内容,第一步就是得到你要查看的rag的名称,第二步就是得到这个分类的前10条你的文章表的那个字段操作的时候,不要考虑效率的话,你用 like吧语句不想写,如果你向使用一条语句就得到所有分类的前10条,是非常困难的。使用存储过程差不多能完成。

解决方案 »

  1.   

    标设计不合理
    tag表至少加个ID primary key文章表里的tag字段改存tag的ID
      

  2.   

    建议你修改你第二条SQl,这个有可能达到你的要求。
      

  3.   

    按现在的表结构来说,就算用一条SQL实现你的功能,效率也会十分低下
      

  4.   

    mysql> select * from news;
    +------+--------+
    | tag  | cateid |
    +------+--------+
    | 经济 |      2 |
    | 科学 |      2 |
    | 经济 |      2 |
    | 经济 |      2 |
    | 经济 |      2 |
    +------+--------+mysql> select * from tag;
    +---------+--------+
    | tagname | tagnum |
    +---------+--------+
    | 经济    |      4 |
    | 科学    |      1 |
    +---------+--------+mysql>   SELECT t.tagnum
        ->     FROM tag as t,
        ->          news as n
        ->    WHERE FIND_IN_SET(t.tagname,n.tag)
        ->       && n.cateid = 2
        -> GROUP BY t.tagnum
        -> ORDER BY t.tagnum DESC
        ->    LIMIT 10;
    +--------+
    | tagnum |
    +--------+
    |      4 |
    |      1 |
    +--------+
      

  5.   

    WHERE FIND_IN_SET(t.tagname,n.tag)
    ---------------
    今晚試試,我就是不知道在mysql怎麼寫B.artTag包含有A.TagName,所以用了like,感覺不對,下了一個mysql手冊找了一下看到有這個函數“LOCATE(substr,str)返回子串 substr 在字符串 str 中第一次出现的位置”,不知道這個可不可以判斷
      

  6.   

    而且感覺'%A.TagName%'這樣的寫法好象不對,會不會把A.TagName字段當成了一般的字符串?
      

  7.   

    你要走两步内容,第一步就是得到你要查看的rag的名称,第二步就是得到这个分类的前10条
    ====================
    沒辦法得到要查看的tag,因為這不是搜索,是想在每個分類頁面顯示此分類的熱門標簽出來。
      

  8.   

    连接条件 find_in_set(tag.tagname, 文章表.tag)
      

  9.   

    mysql> SELECT t.tagnum
    -> FROM tag as t,
    -> news as n
    -> WHERE FIND_IN_SET(t.tagname,n.tag)
    -> && n.cateid = 2
    -> GROUP BY t.tagnum
    -> ORDER BY t.tagnum DESC
    -> LIMIT 10;
    ==============================
    差不多了,不过有些问题,有此分类明明有好几篇文章几个标签,但只得到一条记录,也就是显示一个标签,
    而且得到的记录不是按tagnum从多到少排列的
      

  10.   

    标设计不合理
    tag表至少加个ID primary key文章表里的tag字段改存tag的ID
    ===============
    tag表是共三个字段,是有一个ID primary key的,不过文章是存tagname的
      

  11.   

    文章表里的tag字段改存tag的ID
    ------------
    我看过好几个blog程序,照他们那样设计的,都是存tagname的,现在改恐怕来不及了,已经好多文章了
      

  12.   

    公司要开发一个面对外国人的外文网站,给老外提供各种服务,想请2~3名开发人员,主要是对Discuz系统进行修改,然后添加一些个性功能
    对该职位有兴趣的朋友可以发邮件到[email protected]
    公司现在经营的是给老外找房子的业务,网址sinohousing.com
    谢谢支持
      

  13.   

    QQ群。主要探讨:Apache 模块开发,PHP PECL扩展,MySql API开发,SEO技术欢迎来自CU、PHPX、CSDN、PHPE、落伍、NJPHP等论坛的朋友,大家共同提高。QQ群号码 38397726
      

  14.   

    招聘PHP开发人员 
    招聘人数2-3名
    职位描述: 基于 PHP + MySQL 开发网站程序
    任职资格 :
    1、精通使用 Apache + PHP + MySQL进行WEB的开发;
    2、掌握UML,至少熟练掌握一种UML建模工具;
    3、具有文档编写能力,面向对象的编程思想,优良的编程风格和习惯;
    4、计算机相关学历;有两年以上的php脚本开发经验; 
    5、对软件开发工作有富有热情,工作责任心强,富于团队精神和敬业精神;待遇根据能力定薪金,具体待遇面议,保证不低于同行业水平,有意者请发电子邮件到Email:[email protected]
    工作地点:
    北京望京科技园利泽中园或北京电子城科技园区 [靠近望京和酒仙桥地区]