GetKeywordSql .." et enregistrez-le."/> GetKeywordSql .." et enregistrez-le.">

Maison >Tutoriel CMS >DEDECMS >Que dois-je faire si la liste gratuite dede5.7 ne parvient pas à obtenir plusieurs mots-clés ?

Que dois-je faire si la liste gratuite dede5.7 ne parvient pas à obtenir plusieurs mots-clés ?

藏色散人
藏色散人original
2019-12-16 10:23:351959parcourir

Que dois-je faire si la liste gratuite dede5.7 ne parvient pas à obtenir plusieurs mots-clés ?

La liste gratuite Dede5.7 ne peut pas obtenir plusieurs mots-clés ?

Cet article a compilé une solution complète au problème de la liste gratuite dede5.7 qui ne permet pas d'obtenir plusieurs mots-clés, ainsi que des techniques d'utilisation alternatives.

Apprentissage recommandé : Dreamweaver cms

Jetons d'abord un coup d'œil à l'interface permettant d'ajouter une liste gratuite dans DEDE5.7.

Que dois-je faire si la liste gratuite dede5.7 ne parvient pas à obtenir plusieurs mots-clés ?

Comme on peut le voir sur l'image, dans des circonstances normales DEDE écrit officiellement que plusieurs mots-clés peuvent être utilisés : mot-clé 1, mot-clé 2, mot-clé 3... , mais je Je ne sais pas s'il s'agit d'une erreur officielle ou pour d'autres raisons. Après avoir ajouté plusieurs mots-clés, cela n'a aucun effet. Au lieu de cela, aucun contenu ne peut être récupéré. Sur la base des problèmes signalés par tout le monde, nous avons compilé une solution complète à ce problème. . méthode.

Fichiers impliqués : remplacez includearc.freelist.class.php

Que dois-je faire si la liste gratuite dede5.7 ne parvient pas à obtenir plusieurs mots-clés ?

Nous pouvons voir que le code impliqué est tel qu'indiqué dans l'image ci-dessus.

Masquons d’abord les deux codes !

Écrivons nous-mêmes une déclaration connexe :

$orwhere .=  "AND (".$this->GetKeywordSql($keyword)." )";

Enfin, nous trouverons l'emplacement ci-dessous et ajouterons les conditions et règles de recherche pertinentes que nous avons écrites

function GetKeywordSql($keyword)
    {
        $ks = explode(',',$keyword);
        $kwsql = '';
        $kwsqls = array();
        foreach($ks as $k)
        {
            $k = trim($k);
            if(strlen($k)<1)
            {
                continue;
            }
            if(ord($k[0])>0x80 && strlen($k)<2)
            {
                continue;
            }
            $k = addslashes($k);
            $kwsqls[] = " arc.title LIKE &#39;%$k%&#39; ";
        }
        if(!isset($kwsqls[0]))
        {
            return &#39;&#39;;
        }
        else
        {
            $kwsql = join(&#39; OR &#39;,$kwsqls);
            return $kwsql;
        }
    }
    /**
     *  获得关键字SQL,统计记录使用
     *
     * @access    private
     * @return    string
     */
    function GetRowSql($keyword)
    {
        $ks = explode(&#39;,&#39;,$keyword);
        $kwsql = &#39;&#39;;
        $kwsqls = array();
        foreach($ks as $k)
        {
            $k = trim($k);
            if(strlen($k)<1)
            {
                continue;
            }
            if(ord($k[0])>0x80 && strlen($k)<2)
            {
                continue;
            }
            $k = addslashes($k);
            $kwsqls[] = " title LIKE &#39;%$k%&#39; ";
        }
        if(!isset($kwsqls[0]))
        {
            return &#39;&#39;;
        }
        else
        {
            $kwsql = join(&#39; OR &#39;,$kwsqls);
            return $kwsql;
        }

Ajoutez le code ci-dessus au bas de la page, et maintenant la fonction de mots-clés multiples de la liste gratuite de DEDE peut être utilisée !

Ce n’est pas encore fini ! L'éditeur a rencontré un problème lors du processus de test proprement dit. Nous avons ajouté deux mots-clés pour permettre un filtrage plus poussé ou pour ajouter des mots-clés plus larges ? Ce problème me préoccupe depuis longtemps. A travers le code ci-dessus, j'ai testé les solutions pertinentes :

Que dois-je faire si la liste gratuite dede5.7 ne parvient pas à obtenir plusieurs mots-clés ?

On peut voir ça à cet endroit, si on utilise "OR" signifie OU, ce qui signifie que nous élargissons la portée de la recherche afin que les articles avec les mots-clés qui apparaissent apparaissent. Si nous changeons en « ET », cela signifie restreindre la portée de la recherche, indiquant que les deux mots-clés sont inclus dans l'article. Le mot 1 doit également avoir le mot-clé 2.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn