mysql查询2个表 获取分类和分类列表

mysql查询2个表 获取分类和分类列表,第1张

我只模拟一个   输出 3条商品信息的效果了

否则 文字又要超长了

CREATE TABLE sp_classify (

  cid  INT,

  cname  VARCHAR(10)

);

INSERT INTO sp_classify  VALUES(1,  '笔记本');

INSERT INTO sp_classify  VALUES(2,  '台式机');

INSERT INTO sp_classify  VALUES(3,  '超级本');

INSERT INTO sp_classify  VALUES(4,  '平板');

CREATE TABLE sp_goods (

   cid  INT,

   gtitle  VARCHAR(50)

);

INSERT INTO sp_goods VALUES(1,  '笔记本1');

INSERT INTO sp_goods VALUES(1,  '笔记本2');

INSERT INTO sp_goods VALUES(1,  '笔记本3');

INSERT INTO sp_goods VALUES(1,  '笔记本4');

INSERT INTO sp_goods VALUES(1,  '笔记本5');

INSERT INTO sp_goods VALUES(2,  '台式机1');

INSERT INTO sp_goods VALUES(2,  '台式机2');

INSERT INTO sp_goods VALUES(2,  '台式机3');

INSERT INTO sp_goods VALUES(2,  '台式机4');

INSERT INTO sp_goods VALUES(2,  '台式机5');

INSERT INTO sp_goods VALUES(3,  '超级本1');

INSERT INTO sp_goods VALUES(3,  '超级本2');

INSERT INTO sp_goods VALUES(3,  '超级本3');

INSERT INTO sp_goods VALUES(3,  '超级本4');

INSERT INTO sp_goods VALUES(3,  '超级本5');

INSERT INTO sp_goods VALUES(4,  '平板1');

INSERT INTO sp_goods VALUES(4,  '平板2');

INSERT INTO sp_goods VALUES(4,  '平板3');

INSERT INTO sp_goods VALUES(4,  '平板4');

INSERT INTO sp_goods VALUES(4,  '平板5');

SELECT

  resultName

FROM

(

SELECT  0  as  seqNo,  cid,  cname  as resultName FROM  sp_classify

UNION ALL

SELECT  CASE WHEN @cn != cid THEN @rownum:= 1 

        ELSE @rownum:= @rownum + 1  END  as  seqNo,  

@cn := cid AS cid,  

gtitle  as resultName  FROM  sp_goods,  (SELECT @rownum:=1) r, (SELECT @cn:=0) p

) subQuery

WHERE

  SeqNo <=3

ORDER BY

  cid,  seqNo;

  

+------------+

| resultName |

+------------+

| 笔记本     |

| 笔记本1    |

| 笔记本2    |

| 笔记本3    |

| 台式机     |

| 台式机1    |

| 台式机2    |

| 台式机3    |

| 超级本     |

| 超级本1    |

| 超级本2    |

| 超级本3    |

| 平板       |

| 平板1      |

| 平板2      |

| 平板3      |

+------------+

16 rows in set (000 sec)

你需要 10行商品的, 就是简单把 sql 语句中的  WHERE   SeqNo <=3

修改为  WHERE   SeqNo <= 10 即可。

area 表

id 编号 name 名称 title 英文简称 status状态 sort排序

1 北京 beijing 1 10

2 天津 tianjin 1 20

cate 表

id 编号 name 名称 title 英文简称 status 状态 sort排序

1 手机 phone 1 10

2 电脑 pc 1 20

3 平板电脑 ipad 1 30

supply表

id 编号 name 名称 title 英文简称 price 价格 color 颜色 other简介 area_id 地区id cate_id 分类id

1 iphone6s iphone6s 500000 白色 国行iphone6s 1 1

2 iphone6s iphone6s 500000 黑色 国行黑色iphone6s 2 1

参考以下代码:

        <php if ( have_posts() ) : >

            <php while ( have_posts() ) : the_post(); 

                $categories = get_the_category();//获取当前post的分类信息

                if ( empty( $categories ) ) {

                    echo "Uncategorized";

                } else {

                    foreach ($categories as $category ) {

                        //循环输出分类的name与slug

                        echo $category->name  ":"  $cateogry->slug;

                    }

                }

             endwhile; >

        <php else : >

        <php endif; >

第一步,将下面的代码添加到主题functions模板文件中:

function setTitle(){

$term = get_term_by('slug',get_query_var('term'),get_query_var('taxonomy'));

echo $title = $term->name;

}

第二步,用:

<php setTitle(); >

替换主题头部模板header类似这句:

<php wp_title('',true); >

(美设之家提供)

方法有很多,介绍一个方法给你

首先将如下代码放到主题文件functionsphp中:

function get_current_category_id() {

$current_category = single_cat_title('', false);

//获得当前分类目录名称

return get_cat_ID($current_category);

//获得当前分类目录ID

}

function get_current_tag_id() {

$current_tag = single_tag_title('', false);

//获得当前TAG标签名称

$tags = get_tags();

//获得所有TAG标签信息的数组

foreach($tags as $tag) {

if($tag->name == $current_tag) return $tag->term_id;

//获得当前TAG标签ID,其中term_id就是tag ID

}

}

下面这一步是为了获得指定分类目录ID或指定TAG标签ID,之后就可以在需要的地方使用如下代码来调用functions文件里的函数就可以实现想要的功能了:

<php

if (is_category())

{

get_most_viewed_category(get_current_category_id());

}

elseif (is_tag())

{

get_most_viewed_tag(get_current_tag_id());

}

else {

get_most_viewed();

}

>

补充说明:按照以上的方法来进行推理,只要将上述代码中的most替换为least即可实现冷门文章的调用。

热门,冷门文章都可以中这个方法来实现,看你怎么 *** 作了。

不懂的可以百度‘Pladys’,第一个即为我的博客,欢迎给位新手前来提问

你可以这样

$str = 'select id from tp_order_cat where parentid in (1,5,6)';//获取所有的1,5,6的所有下级分类

$need_list = D('tp_order_cat')->where('parentid in (1,5,6)')->select();//获取到的 

$need_id_str = ''; //获取需要的子类id

foreach($need_list as $val){

    $need_id[] = $val['id'];

$need_id_str = join(',', $need_id);

$where = "catid in ($need_id_str)";

$products = $this->order_model->where($where)->order($order' '$method)->limit('5')->select();

这样就可以了!

以上就是关于mysql查询2个表 获取分类和分类列表全部的内容,包括:mysql查询2个表 获取分类和分类列表、数据库多表查询,要实现的功能是点击分类名字并且名字和地区关联,可以显示当前分类的内容、wordpress 如何获取循环对应的文章分类name和slug等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9316843.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存