00:00
好,那我们继续来上课啊,那么咱们这个今天呢,主要是来把我们这个个人中心和发表文章做一下啊,我这块稍微改了一下,然后呢,这个个人中心呢,我就用了这个我们添加会员后台的那个页面,那个表单我给复制过来了啊,包括发表文章呢,我就是把那个咱们后台添加表单那个文章我给复制到这里边来了啊好了,那么咱们今天呢,就主要来实现这两块内容啊。这块样式还有点问题啊。啊,样式有点问题,也就说到这个页面的时候,它没有什么。没有浮动对吧。嗯,行。不要紧啊,这样它这样个人中心呢,点击个人中心,然后发表文章,点击发表文章,发表文章这里头它就这个页面没动对吧,那不影响啊,这个样式呢,我们这个后后下来之后可以自己调好了,咱们来看啊。先不管这一块,我们先来看一个什么呢,先看一个这个日文标签这块吧,这个标签从哪来的,我们这里面暂时是不是没有标签啊,但是大家还记不记得我们再去添加文章的时候,添加文章的时候我们是不是可以有什么你看好了啊,在我们这个。
01:09
内容列表里边啊,这里边比如说我在文章,我怎么说这里边我在修改,修改完之后是不是有它有什么,它有这个关键字啊。是不是这些关键字对不对,那OK,那么我就来干嘛呢,就来查询这些关键字就好了啊,把这些关键字查询出来,放到这里边来啊,这是咱们的添加文章啊,那OK,我在这里边自己新创建一个文件啊,这里边新建一个PP的文件,比如说这个叫做关键字嘛,那叫KWRS。好,那么这个keyword里面负责干嘛,注意啊,这个没有controller,就是一个keyword对吧,它相当于一个辅助,辅助的功能啊,甚至这个文件,然后我这个文件不应该放到这里啊,我这个文件应该放到哪呢?应该放到我的org里边,不应该放到这里边啊,我给它拖到org里边。OK,重构。好了,在org里边的看到了吗?Keyword,那么这个keyword干嘛呢?就是用来查询。
02:00
用来查询所有关键字的啊,查询所有关键字的啊,那一样我们怎么去调用,我是不是需要在哪啊,在这个呃,index.pp这里边去包含一下,对吧?那OK,我在这里边包含一下它啊,比如说INC rud科录的包含当前目录org下边的叫做keyord的PP,好了,把它包含进来,包含进来以后,现在我就可以用这个。Keyword这个方法这里边的东西了啊,那我们直接进来一个叫做get k。Words keyword对吧,直接来获取,那么获取的时候我还是一样,我需要去MY去连接我们的这个数据库啊,先去查询一下啊,Select这里边我们要查的是什么,叫做select,直接查这个keyord这个字段就可以了,然后服贸哪个表呢?E-a r t article这个表好了,有什么条件吗?没有什么条件对吧?哎,直接查就可以了,那么这里边我可以。
03:05
一下GBL。GLOBAL。做Dollar SE select model括号,把这个Dollar circle丢里边,丢里边以后它会给我返回一个什么,一个这个数组啊,二维的,那么现在我们来看这个二维的数组,打印一下到K。好了,那现在我们来刷新,诶不好使,我没有调用它对不对,那哪块哪个页面有这个东西,我是不是就调用它就可以了,那OK,我们把这个函数复制一下啊,然后呢,咱们来看我在这个index controller里面。肯定有调用吧,那应该是在哪个位置呢。来瘦吧,瘦,哎,完了啊。网站首页内容显示。就是查询的,OK,就在售这个页面啊,好了,我来调用这个keyword,那么调用keyord,现在它不会没有返回东西,对吧,就要直接来显示了啊,来刷新一下,你看是不是拿到了这么多东西,那么其中你看为空的我肯定不要,我是不是就要这些不为空的这些东西我肯定得要回来,而且它都是二维数对不对?哎,所以这个时候怎么办?
04:21
我们再返回keyword这里边。拿到这个WK我们看到了,那我直接就循环便利呗,对吧,这里边我先定义一个什么k w rb keyword等于A啊,那么我来for it遍历什么遍历这个Dollar k as Dollar v一样去遍利,对吧?那么遍利的时候我需要去判断一下如果,如果Dollar v里边的这个K。DYYDS,如果它为空的话,我是不是就不需要了,给它过滤掉就好了,对不对,哎,所以它。去反不为空的时候,它不为空的时候,我再把这个信息赋制给keyor,给了一个新数组,对吧?哪个信息呢?那就是Dollar v里边的这个key word,哎,把它复制给了这个变量,那OK,那现在咱们来看,我在它的外边再来打印这个keyword。
05:12
这回咱们再来,我再刷新。OK,他说。重复定义。在我的。买这个的第六行。哦,把它注册掉吧。刷新一下。然后他说我的函数名必须是一个字符串,在我的第七行keyord的第七行key,第七行select model。The select model。格罗卜来声明了,然后我这块再去调用。输出他这也没有问题。怎么不好使了呢?不能重复调用,不能重复定义,他说这个已经被定义过了,在我这个my model里面确实是这样的啊,那my model我这边去调用它。
06:05
我调用了一次。那这次就不调用了。这次就不调用了。然后来刷新。还不行,那要是这样的话。就把它都去掉吧,啊这个呢也都去掉了,就我查询数据注意啊,我查询数据,那你要在我查询数据不在这里边查了,在哪查呢,哪个页面用,你就在哪个页面给我查这个数据去对吧,那好,我把这个数据复制出来啊,复出来这里边最终你给我传一个参数就行了,比如传一个Dollar k对吧,那整个这块我都不要了啊。可能这块我都不要了,好了。那OK,那咱们来找一下啊,在这个index control里边,咱这块就是用了,哎,你看我用完之后这没问题啊。来我放到它下面啊,我放到定义数据库的下面,那可能是因为它这里边又调用一次啊,我这么样来试试啊,Keyword这里边,那我定义它了,它就不用了,我把它开起来,它开起来他开起来好。
07:04
这时我们再来看啊。刷新。阿们的比有参数啊,不好意思哎。走你好了,这个没问题了,对吧,但是没问题了,我这里边怎么就拿到了两个呢,一个色Q注入一个PP不对吧,咱们来看一下我这个到K里面查到了多少东西啊。刷新你看啊,我这个是不是这个也是,这个也是,怎么就给我拿这一个是不是给我覆盖了对吧,每次都覆盖了,所以我应该是什么数组应该是中括号对不对?哎,然后这个时候再来刷新一下,刷新完你看下面的啊,那么最下边来诶。对,你看是不是我组装成这样的一个数组了,对吧,那么在这个数组里边,接下来干嘛,我是不是想把这些东西,把这里边每一个逗号的值,因为它是关键字嘛,是不是就是一个关键字,一个关键字是不是跟我们的标签是一样的,你看是不是就是一个关键字,一个关键字,一个关键字,哎,所以我们需要干嘛,把整个这个数组是不是再合并成一个数组。
08:04
对不对,那OK,那接下来怎么办?我们在这里边看好了啊,这个K我们既然拿到就不要了,不要以后呢,在这里边我挖MP这个东西咱们也就没用了啊,Keyord就没用了,我现在把keyword给连成一个,那怎么连呢?I'I'lo啊,我要用什么连,用逗号连,连谁呢?连这个keyor。啊,连完以后它会返回给我们一个字符串,对吗?Str。好,那现在我们来这个SDR大家看一下啊。刷新。你看这个SDR是不是就是每个关键字拿出来了,那接下来注意这里面是不是还有重复的,还有重复还有重复的呢?啊接下来干嘛,我是不是把这个再分成数组,那也就是这里边再进行什么Dollar a等于xlo。把用什么分,用豆画分,分谁分这个SSPR,那么这个时候我们来看我们的这个刀R。
09:01
刷新,你看这个时候我们是不是组装成一个数组了,那么接下来干嘛?注意这里面是不是有很多重复的值,那我们是不是要过滤到数组中重复的值?那么我们可以用哪个函数叫做AA杠、UN。UNIQE啊,干嘛呢?移除数组中重复的值看到了吗?哎,告诉了移除数组中重复的值,那OK。那我们就直接用了啊。这里边叫做A杠。UNIQE,你要移出哪个数组?移出这个数组中重复的值,然后它会给你返回一个新的结果,比如说你叫new吧。然后我们再来打印一下。到了妞,哎呀,好,然后我们返回来再来刷新,刷新以后你看。我们能看出这里边现在还有没有重复的值,注意这个PP跟这个PP是不是重复重复吧,但是呢,它去重什么是不区分大,是区分大小写的对不对,所以我们要把这里面所有的关键字都干嘛呢?都给它转成大写才可以啊,都转成大写,所以在在这里边我在存的时候,我就给它转换成大写叫string。
10:11
To。对吧,好,现在咱们再来看啊,再来刷新的时候,你看这两个PP,它俩就会去掉一个来刷新,OK,是不是去掉一个了。对不对,哎,那好了,那现在我剩的这些关键字得到这个数组,我是不是就可以遍历到这里面来显示了,对吧,那好了,那最后这个东西要返回怎么样,是不是就可以直接。Re,瑞就是瑞A杠。IQUE把这个刀R丢进来对吧?哎,把它这个过滤重复值以后的结果直接返回出去了啊好了,那现在这个keyword就已经执行完了,执行完我们把keyword就可以关掉了啊,咱们直接找到index这里边,那index里边我们通过它是不是调用了这个所有的关键字对吧。
11:00
好了,那么有了这个case关键字以后,那么咱们再来看我在慢的页面,慢的页面是不是有这么一堆PP啊,哎,那OK,来看好了。在这里我直接减括号。问号PHP问号键符号回来,然后在这里面干嘛呢?在这里边进行for,先判断一下,如果is set,你设置了Dollar case对吧?并且呢,这个A-AA-a ray啊,这个Dollar case是数组对吧?包括并且EPTY应该是取反,取反e p TY Dollar keys它不为空的时候,我们开始进行什么for循环便利对吧?For意思便利谁呢?便利这个case as一个Dollar啊。As挨着一个Dollar v,然后呢,在这里面括号把这个东西IO出来,IO的就是我们这个A标签CTRLX给它剪切到这里,然后这里边内容呢,那就是我到了。V里边的东西对吧,哎,URL存在哪,那么一会儿再说,先把关键字先整出来,好,现在我们来刷新。
12:05
好了,诶都是Dollar没给我解析吧,啊,那这里面分割连接对吧,分割连接OK,现在我们再来看能不能解析。好了,你看所有的关键字是不是都放在这里了,当然啊,这关键字放这里面放的有点太多了,对不对,我们是不是取一部分就可以了,哎,比如说这里边我在去遍历这个数组的时候啊,我做一下这个选取叫做S,呃,A呃,RA-S是不是有这么一个函数啊,对吧,这个函数干嘛?是不是从数据中截取一段叫ay a瑞杠SLCE,你看从数组中取出一段没错吧,哎,然后返回什么呢?返回这个这个这个指定的一个序列,那OK,那现在你看啊,呃瑞这里边我返回了一个也叫case吧,K啊。就吧。叫newkeys。
13:01
好,那这块我要变量也变成了这个又KYOK,那么取我要在哪取,我要在keyy里边看KYS里面取,取多少呢?取从零开始,比如说取到八个对吧,然后呢,接下来就够了,就这三个就行了啊,然后这回我们再来看啊,就没有那么多了,现在我们几个一二三四五六七八九十个对不对,那你看啊走你。是不是少两个了,哎,就取八个对吧,那比如咱们取十个,因为我现在就这么多,所以就给了十个啊来。那十个都取回来了,对吧,也就是说我们在取的时候做了一个限制啊,那么你一样哪个页面用到你就干嘛呀,就取哪块就可以了啊好了,那接下来是点关键字是不是也要搜索呀,对不对,搜索这个关键字相关的这些文章啊,哎,所以当我点这个关键字的时候,我也同样跳到一个页面去啊,那咱们来看。呃,这里边点关键字在这对吧,那比如说问号依然等于什么,咱们是不是也有搜索的方法,比如说我就叫search吧,ER ch对吧,然后并且呢,A等于什么呢?等于这个so。
14:08
KSOK啊显示K的,咱们来看啊,设是这里边,设置这里边。有so。有这个。对吧,那OK,我再来一个soca。Have you say so。Case好,这里边我们来艾一个一啊,咱们看能不能调用过来先啊,来刷新一下,这里边我来点击一个超链接过来。点过来了,刚好调用了未定义的函数,已经叫sok,我们打了一个soca是吧?那OK sok好了,这个时候再来重新刷新一下,是不是有这个一了,有这个一了,这个页面是不是也一样需要从关通过关键字的搜索展示啊,那我还是把它拿过来,CTRLC。放到。
15:00
我们这里边来,诶,我不用我通过so就可以,我不用往这个方法里跳啊,我还是往受这个页面跳就行了,没必要多写一个方法啊,所以会更麻烦,那这里边就叫做so,但是呢,注意我这块是不是通过要通过关键字搜索呀,所以我这里边来一个,并且比如说这个K等于。Keywor w keyd OK,相当于传了一个标记而已啊,就相当于传了一个标记而已,哎,我传标记吗?不传标记我就K,等于什么呢?等于分割连接Dollar v,我把搜索的这个关键字的名传传到这个页面来了,看到了吗?哎,那现在一样啊,我们来重新回来刷新一下。你看我鼠标放到外部培训上。诶,这呢啊,放到外边培训的,那么下边。这里你看是不是传了一个K的外部培训呢?哎,那好,那我在我的售页面就是search的这个受方法里边,咱们找最终查数据的是呢,查数据的注意啊,看select从article开始是不是查数据的。
16:01
对吧,哎,你看这是实现分页的,下面是我真正查数据的,也就整个这段内容都是。没错吧,那好,那整个这些内容就是应该怎么就如果你看啊如果怎么样,Is set,我没有设置Dollar下线get里边的这个K的时候,我是叫K还叫K字。K对吧?好,那么a side取反,如果没设置这个到K的时候,那是不是就代表着我没有按照K搜索,那没有按照K搜索,你是不是继续执行这些就可以了。否则,否则我是不是就按照K搜索了,按照K搜索我的语句是不是就变了,对不对,所以这里边语句变了的话,我看一下啊,我们select。嗯。Like。Like,它就是按照这个,那我如果哦,那我不能这么判断啊,我不要这么判断,我给它设小一点啊CTRLX。直接套到语句这里啊。
17:01
套一句这里。Else。好看好了啊,如果我没有按照K搜索的时候,那我的语句是不是依然是这样了,把它剪切过来,放到。这里边。啊,这是第一条语句,第二条语句也一样,剪接过来放到这里边对吧?那发送的时候,这个比如说叫circle,这没问题对吧,这个就叫CIRCLEQ1,那同样我在下面发送的时候,是不是也得发送CIRCLEQ1才行啊,哎,那么这是有这个呃,没有这个K的,那如果有有K搜索呢?那circle就增加等于什么?就应该等于是select星,然后f from杠条件是不是就kw SK words对吧?然后like。Like,再来百分号匹配对吧?匹配什么呢?匹配我到下线get里边的。
18:04
KK。对吧,然后接下来。它这里边写的O,然后center按照内容搜索,OK,我们就按一个K搜索,对吧,只要这个里面有这个K出现就行了,那么同样下面这条语句是不是也一样,我就把这个CIRCLEQ1复制在复制到这里来了啊,我就在这改了CIRCLEQ1还是一样代形容去查这回传的什么呢?不是黑,是不是还是一样叫做KWS对吧?里边传的是不是还有get里面的K啊,哎,然后再往后O后面的内容没有。这里面的没有,但是得加这个limit对吧,得加limit,那我现在这么用呢,应该会报错。因为我这个limit确实没有。我的利润都没有来刷新,你看一下子啊。点击外部培训。外国培训你看是不是告诉我limit没有啊,确实是limit没有啊,为什么呢?因为你注意我在这最后给的这个limit这里边,你看这limit有生成吗?是不是还没有生成的,哎,Limit米在这生成的,Limit米是不是在这生成的,哎,那所以这里边我还再分一下吧,来如果再区反is set到下线get里边的这个K对吧,如果你还是没有设置的话,哎,这回我把这个。
19:20
SQ1拿过来。否则。Else。我再把这个Q1。拿过来OK好了,现在SQ1这两个变量都有了,对吧,这回Li也有了啊,然后传到里面出来,SQ1现在我们再来看,再来刷新。好了,他说and find未定义的索引设看到了吗?未定义的索引设在哪呢?在这里边设的码的第37行。对吧,那好,我们先来看一下,因为什么会有这个,因为我们有个分页,还记得吗?分页里面装了一个URL,好像是来。在这个v ew里边,我们找到我们的搜索页面,搜索页面的第37行,其实这些东西都无所谓啊,我们直接看第37行这里边37行里面,这里面是不是就get的设置啊,对不对,那OK,这里面有get设置我才能用get设置,没有的话我是不是就得用get k才行啊,所以这里边我不应该用它了啊,我直接监狂问号PHP,然后Apple口Apple谁呢?Apple口a set。
20:25
啊,不用就直接它,然后问号问号到了下线get里面的。K,反正它就这两个东西对吧,那OK,所有的我都给它改成这这一条语句,就用这三元运算符啊CTRLC把。这个。提供照。八。这个,然后还有一个。这个好了,那现在我们再来看。找你OK错误没有了,你看我按关键词搜索是不是就这一个是打开来看是不是这一个呀,哎,那OK,这就是咱们按照这个日文标签来搜索的啊好了,那日文标签怎么出来的,大家也知道怎么出来的,是不是我点出来的对吧?来查询出来,比如SQ注入点进去你看清入注入这一篇,那OK。
21:15
拿过来对吧,当然有别的有别的这个文章里面设置关员注也是社会注入的话,那我们是不是也能拿拿得出来啊,对不对,诶那OK,那现在热门标签这块我们就搞定了,那当然大家下来以后要把其他页面的这些热门标签也都做好啊,其他页面这热门标签也都做好,好了,那这节课我们到这里。
我来说两句