Maison Tutoriel CMS EmpireCMS La méthode la plus pratique pour implémenter des liens liés aux requêtes entre tables dans Empire CMS

La méthode la plus pratique pour implémenter des liens liés aux requêtes entre tables dans Empire CMS

Nov 29, 2019 pm 02:04 PM
帝国cms

La méthode la plus pratique pour implémenter des liens liés aux requêtes entre tables dans Empire CMS

L'exemple de cet article décrit la méthode d'implémentation des liens liés aux requêtes croisées dans Empire CMS. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :

Les liens connexes officiels ne sont pas flexibles, le style ne peut pas être modifié arbitrairement et ne peut pas traverser les tableaux. De nombreuses personnes souhaitent créer des liens connexes entre les tableaux. Par exemple, les actualités et les informations contiennent plusieurs articles. avec des mots-clés « Pékin », alors comment appeler ces articles avec le même mot-clé ? J'ai écrit une fonction personnalisée à cet effet

Il est recommandé d'étudier le "Tutoriel Empire cms"

Une petite gamme d'appels peut être utilisée dans cette catégorie A. une plage légèrement plus grande peut appeler la même table. Si l'article est plus grand, vous pouvez appeler l'article de la table spécifiée. Vous pouvez choisir le nombre d'articles à appeler. En fait, vous pouvez également mettre à niveau, par exemple en spécifiant le nombre d'articles. pour appeler une certaine table, l'ordre de cette table, etc. La fonction n'a pas de style, vous pouvez donc la comprendre un peu. Le code peut être modifié par vous-même, ce n'est pas particulièrement difficile. Si quelqu'un a mis à jour cette fonction, vous pouvez le partager avec tout le monde.

Le code est le suivant :

<?php
function user_OtherLink($tbname,$num,$ck){
global $navinfor,$empire,$dbtbpre,$class_r ;
$ck=(int)$ck ;
if($ck==1||$ck==2){
$tbname=$class_r[$navinfor[&#39;classid&#39;]][&#39;tbname&#39;] ;
}
$num= $num==&#39;&#39; ? 5 : $num ; //缺省获取数量为5
$tag_all=explode(&#39;,&#39;,$navinfor[&#39;infotags&#39;]);
$tbname_num=explode(&#39;,&#39;,$tbname) ;
$eq_num=ceil($num/count($tag_all));
for($i=0;$i<count($tag_all);$i++){
$r_1_1 =$empire->fetch1("select tagid,tagname,num,isgood,cid from {$dbtbpre}enewstags where tagname=&#39;".
$tag_all[$i]."&#39; order by tagid limit 1") ;
$tag_id[$i]=$r_1_1[&#39;tagid&#39;] ; //tag的ID
$tag_num[$i]=$r_1_1[&#39;num&#39;] ; //tag下的文章数量
if($tag_num[$i]>=$eq_num){//如果TAG下的文章数量比平均的数量大或者等于,那么TAG的文章数量取平均值
$tag_num[$i] = $eq_num ;//重新赋值
}else{//如果TAG下的文章小于平均值,那么TAG取原有的文章数量。同时重新赋值平均值。
$eg_tag= $eq_num-$tag_num[$i] ;
$eq_num += $eg_tag ;
}
//比如说有3个TAG,每个TAG下有4篇文章,现在指定要显示10篇文章,那么每个TAG要拿出4篇,共有12篇文章
//3个TAG,每个TAG下有3篇文章,现在指定要显示10篇文章,那么每个TAG要拿出3篇文章,共有9篇文章
//3个TAG,A有2篇文章,B有5篇文章,C有3篇文章,现在要显示10篇文章,那么A拿出2篇文章,B拿出5篇文章,C拿出3篇文章,
共有10篇文章
//如果 A、B、C中除了当前文章,还有相同的文章,那么会扣除重复的那篇文章,只取一次。所以指定的数量会有偏差
for($i_n=0;$i_n<count($tbname_num);$i_n++){
$sql=$empire->query("select tid,classid,id,mid from {$dbtbpre}enewstagsdata where tagid=&#39;".$tag_id[$i]."&#39; order 
by classid ");
$ri=1 ;
while($r=$empire->fetch($sql))
{
$tbname_all[$r[&#39;tid&#39;]]=$class_r[$r[&#39;classid&#39;]][&#39;tbname&#39;] ;
if($tbname_all[$r[&#39;tid&#39;]]==$tbname_num[$i_n] && $ri <= $tag_num[$i] && $navinfor[&#39;classid&#39;]!=$r[&#39;classid&#39;] && 
$navinfor[&#39;id&#39;]!=$r[&#39;id&#39;]){
if($ck==1&&$navinfor[&#39;classid&#39;]==$r[&#39;classid&#39;]){
$tbname_all_r[$r[&#39;tid&#39;]]=$class_r[$r[&#39;classid&#39;]][&#39;tbname&#39;] ;
$classid_id[$r[&#39;tid&#39;]]=$r[&#39;classid&#39;] . &#39;_&#39; . $r[&#39;id&#39;] ;
$classid_all[$r[&#39;tid&#39;]]=$r[&#39;classid&#39;] ;
$id_all[$r[&#39;tid&#39;]][$r[&#39;classid&#39;]]=$r[&#39;id&#39;] ;
}elseif($ck==2&&$class_r[$navinfor[&#39;classid&#39;]][&#39;tbname&#39;]==$class_r[$r[&#39;classid&#39;]][&#39;tbname&#39;]){
$tbname_all_r[$r[&#39;tid&#39;]]=$class_r[$r[&#39;classid&#39;]][&#39;tbname&#39;] ;
$classid_id[$r[&#39;tid&#39;]]=$r[&#39;classid&#39;] . &#39;_&#39; . $r[&#39;id&#39;] ;
$classid_all[$r[&#39;tid&#39;]]=$r[&#39;classid&#39;] ;
$id_all[$r[&#39;tid&#39;]][$r[&#39;classid&#39;]]=$r[&#39;id&#39;] ;
}elseif($ck==3){
$tbname_all_r[$r[&#39;tid&#39;]]=$class_r[$r[&#39;classid&#39;]][&#39;tbname&#39;] ;
$classid_id[$r[&#39;tid&#39;]]=$r[&#39;classid&#39;] . &#39;_&#39; . $r[&#39;id&#39;] ;
$classid_all[$r[&#39;tid&#39;]]=$r[&#39;classid&#39;] ;
$id_all[$r[&#39;tid&#39;]][$r[&#39;classid&#39;]]=$r[&#39;id&#39;] ;
}
$ri++;
}
}
}
}
$classid_id_x=array_unique($classid_id);//去除重复的值
//去除重复的值,不同的TAG会有相同的文章。所以去除重复的值。比如A篇文章里面都有"北京","奥运",两个关键词,
B篇文章里面也有"北京","奥运"在不去除重复的情况下,A篇的相关链接会出现两次B文章。所以必须去除其中一个。
arsort($classid_id_x); //按键名排列,倒序
$tid_tid=array_keys($classid_id_x) ;//取出键名重新排列,键名即为TAG的ID:tid
shuffle($tid_tid);//顺序打乱,重新排
$tid_tid_num=count($tid_tid) ;
if($num<$tid_tid_num) $tid_tid_num=$num+1 ;//由于去除了本文章,所以再加一条弥补
for($i_tid=0;$i_tid<$tid_tid_num;$i_tid++){
$tid=$tid_tid[$i_tid];
$classid=$classid_all[$tid];
$id=$id_all[$tid][$classid];
if($id==$navinfor[&#39;id&#39;]) continue ; //如果是本文章,相关链接里面就不用再放了。
$tbname=$tbname_all_r[$tid];
$r_1_2 =$empire->fetch1("select title,smalltext,titleurl,dp_jt,dp_dwz from {$dbtbpre}ecms_$tbname where 
id=&#39;".$id."&#39; order by newstime limit 1") ;
////////显示样式在这修改
echo $r_1_2[&#39;title&#39;].&#39; &#39; ;
////////
}
}
?>
/**
<?php
OtherLink(&#39;news,info&#39;,7,3) ;
?>
**/
Copier après la connexion

J'espère que cet article sera utile à tout le monde. Le constructeur de site Web Empire CMS vous aide.

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Où sont les paramètres de la version mobile d'Empire CMS ? Où sont les paramètres de la version mobile d'Empire CMS ? Apr 17, 2024 pm 12:12 PM

Les paramètres mobiles d'Empire CMS se trouvent dans « Modèle mobile » dans le module « Gestion des modèles ». Les étapes spécifiques comprennent : l'activation du modèle, la sélection du canal d'application, la modification du contenu du modèle et l'enregistrement des paramètres.

Où se trouve le plan du site Imperial CMS ? Où se trouve le plan du site Imperial CMS ? Apr 17, 2024 am 10:48 AM

Le plan du site Empire CMS peut être trouvé en accédant au fichier config.inc.php et en vérifiant les paramètres du dositemap. S'il est défini sur "on", le plan du site est activé. Le chemin du plan du site se trouve dans le paramètre sitemapurl et est accessible via un navigateur ou téléchargé via FTP.

Où puis-je placer le fichier modèle empire cms pour une utilisation facile ? Où puis-je placer le fichier modèle empire cms pour une utilisation facile ? Apr 17, 2024 am 07:22 AM

L'emplacement idéal pour le fichier de modèle Empire CMS est /e/template/default/skin/default/. Deuxièmement, il peut également être placé dans /e/data/skins/ et /e/skin/. maintenir la structure des dossiers et définir les autorisations de fichiers et les sauvegardes régulières.

Où trouver le fichier de configuration de la base de données Empire CMS Où trouver le fichier de configuration de la base de données Empire CMS Apr 17, 2024 am 06:42 AM

Le fichier de configuration de la base de données Imperial CMS se trouve dans le répertoire racine du site Web e/config/db.inc.php. Il contient les informations de configuration suivantes : $dbhost : adresse du serveur de base de données $dbuser : nom d'utilisateur de la base de données $dbpass : mot de passe de la base de données $dbname : nom de la base de données $dbport :Port de la base de données $dbcharset : jeu de caractères de la base de données

Où se trouve le modèle de réseau de ressources Imperial CMS ? Où se trouve le modèle de réseau de ressources Imperial CMS ? Apr 17, 2024 am 10:00 AM

Emplacement de téléchargement du modèle Empire CMS : Téléchargement du modèle officiel : https://www.phome.net/template/ Site Web du modèle tiers : https://www.dedecms.com/diy/https://www.0978.com. cn /https://www.jiaocheng.com/Méthode d'installation : Télécharger le modèle Décompresser le modèle Télécharger le modèle Sélectionner le modèle

Où se trouve le plug-in push actif Baidu pour Imperial CMS ? Où se trouve le plug-in push actif Baidu pour Imperial CMS ? Apr 17, 2024 am 11:00 AM

Le plug-in push actif Imperial cms Baidu se trouve dans le répertoire racine /e/api/baidu/push.php. Les étapes de configuration spécifiques sont les suivantes : 1. Téléchargez le fichier du plug-in vers le chemin spécifié. 2. Configurez l'option « Baidu Active Push » dans l'arrière-plan d'Imperial CMS, y compris l'adresse push, la clé API et l'intervalle de push. 3. Obtenez les informations push Baidu : Adresse Push : https://data.zz.baidu.com/urls?site=YOUR_SITE&token=YOUR_API_KEY, Clé API : connectez-vous à la plateforme de ressources de recherche Baidu pour l'obtenir. 4. Mettez régulièrement à jour la clé API et définissez un intervalle de poussée raisonnable.

Où se trouve l'interface de publication automatique d'Empire CMS ? Où se trouve l'interface de publication automatique d'Empire CMS ? Apr 17, 2024 am 09:03 AM

L'interface de publication automatique d'Empire CMS se trouve à l'adresse /e/api/web/postinfo.php. Les étapes d'utilisation sont les suivantes : visitez l'adresse /e/api/web/postinfo.php et utilisez HTTP POST pour soumettre le titre de l'article, ID de colonne, ID de catégorie, auteur et article. Le contenu et les autres interfaces de données renverront une réponse au format JSON, qui contient les résultats de publication et l'ID de l'article.

Empire CMS est-il gratuit ? Empire CMS est-il gratuit ? Apr 17, 2024 am 11:24 AM

Oui, Empire CMS est un système de gestion de contenu (CMS) gratuit et open source. Il s’agit d’un CMS léger, riche en fonctionnalités et facile à utiliser. Empire CMS est sous licence GNU General Public License (GPL), ce qui signifie qu'il est gratuit à télécharger, à installer et à utiliser. Pour un usage commercial, il propose une version payante qui offre des fonctionnalités et une assistance supplémentaires telles que la gestion des publicités, les paiements en ligne et une assistance technique premium.

See all articles