search
Homephp教程php手册php标签云制作数据表的结构和查询方法

php标签云制作——数据表的结构和查询方法

例如:如果需要某篇文章中包含tag表中的id为1,2,3的tagname,也就是id为1,2,3的标签,

 

则在添加文章的时候用

 

 

 

$result=implode(",", $_POST['tagid']);//把获取的checkbox的数组用逗号进行分割

$_POST['tagid']为获取前台的复选框的数组,前台html部分代码为:

//这里是thinkphp的写法,原生的写法大同小异

这样存储文章的时候,只需要mood表中的tag=$result即可。

 

 

 

数据已经存好了,接下来我们需要实现的是,点击相应的标签查询出所有包含该标签的文章。

 

 

 

如果我们需要显示某篇文章所包含的所有标签,我们要先获取该片文章的id,查询出该篇文章的tag,

 

用分割函数

 

$taglist = explode(',',$source); //$source为文章的tag值,例如:把tag=“1,2,3”分割为一个数组

然后在前台可以这样写:

 

for($index=0;$index

            $tagsa=$tagdata->where('id=%d',$taglist[$index])->select();

            echo "".($tagsa[0]['tagname'])."   " ;

              }

循环输出tagname,url传tag表的id值,接下来只需要在接收url值的地方写一个模糊查询的sql,文章表的tag like %id%。

 

 

 

注:以上的查询语句都是thinkphp的语法。

 

这样用模糊查询会出现一个问题,因为例如:文章表的其中一个tag字段可能包含1,5    另一个tag字段可能包含10,23

 

如果查询tag like %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

                $source=$arr_mood[$a]['tag'];

                $taglist = explode(',',$source);

                

                

                for($index=0;$index

                    

                    if(tagid==$taglist[$index]){//当传过来的tagid在文章的tag字段中存在,则输出。

                            dump($arr_mood[$a]['title']);//这里可以用echo输出至前台

                    }

                    

                } 

                

                

            }

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
lambda 表达式的语法和结构有什么特点?lambda 表达式的语法和结构有什么特点?Apr 25, 2024 pm 01:12 PM

Lambda表达式是无名称的匿名函数,其语法为:(parameter_list)->expression。它们具有匿名性、多样性、柯里化和闭包等特点。实际应用中,Lambda表达式可用于简洁地定义函数,如求和函数sum_lambda=lambdax,y:x+y,并通过map()函数应用于列表来进行求和操作。

MySQL中的数据表压缩技术MySQL中的数据表压缩技术Jun 16, 2023 am 08:16 AM

MySQL是一种常见的关系型数据库,是许多网站和应用程序的核心组件。随着数据量越来越大,如何优化MySQL的性能就变得尤为重要。其中一个关键领域是数据表的压缩,在本文中我们将介绍MySQL中的数据表压缩技术。压缩表和非压缩表MySQL中有两种类型的数据表:压缩表和非压缩表。非压缩表是MySQL默认的表类型,它使用固定长度的行格式,对数据进行存储。这意味着数据

html5标签head和header有什么区别html5标签head和header有什么区别Jan 17, 2022 am 11:10 AM

区别:1、head标签用于定义文档头部,它是所有头部元素的容器,而header标签用于定义文档的页眉(介绍信息);2、浏览器都支持head标签,而旧版本浏览器均不支持header标签,需要IE9+以上浏览器才支持header标签。

深入解析MySQL.proc表的结构及用途深入解析MySQL.proc表的结构及用途Mar 15, 2024 pm 02:36 PM

MySQL.proc表是MySQL数据库中存储存储过程和函数信息的系统表,通过深入了解其结构及用途,可以更好地理解存储过程和函数在MySQL中的运行机制,并进行相关的管理和优化。下面将详细解析MySQL.proc表的结构及用途,并提供具体的代码示例。1.MySQL.proc表的结构MySQL.proc表是一个系统表,存储了所有存储过程和函数的定义和相关信息

internet的基本结构与技术起源于什么internet的基本结构与技术起源于什么Dec 15, 2020 pm 04:48 PM

internet的基本结构与技术起源于ARPANET。ARPANET是计算机网络技术发展中的一个里程碑,它的研究成果对促进网络技术的发展起到了重要的作用,并未internet的形成奠定了基础。arpanet(阿帕网)为美国国防部高级研究计划署开发的世界上第一个运营的封包交换网络,它是全球互联网的始祖。

mysql修改数据表名mysql修改数据表名Jun 20, 2023 pm 05:52 PM

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:“SHOW TABLES;”;2、修改表名,代码为:“ALTER TABLE 旧表名 RENAME [TO] 新表名;”。3、检查表名是否修改成功,代码为:“SHOW TABLES;”

如何使用HTML和CSS实现一个具有固定导航菜单的布局如何使用HTML和CSS实现一个具有固定导航菜单的布局Oct 26, 2023 am 11:02 AM

如何使用HTML和CSS实现一个具有固定导航菜单的布局在现代网页设计中,固定导航菜单是常见的布局之一。它可以使导航菜单始终保持在页面顶部或侧边,使用户可以方便地浏览网页内容。本文将介绍如何使用HTML和CSS实现一个具有固定导航菜单的布局,并提供具体的代码示例。首先,需要创建一个HTML结构来呈现网页的内容和导航菜单。以下是一个简单的示例

如何在MySQL中设计商城的评价表结构?如何在MySQL中设计商城的评价表结构?Oct 31, 2023 am 08:27 AM

如何在MySQL中设计商城的评价表结构?在一个商城系统中,评价是非常重要的功能之一。评价不仅可以提供给其他用户参考,还可以帮助商家了解用户对商品的反馈和意见。设计一个合理的评价表结构对于商城系统的运行和用户体验至关重要。本文将介绍如何在MySQL中设计商城的评价表结构,并提供具体的代码示例。首先,我们需要建立两个基本的表:商品表和用户表。商品表(produc

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment