Heim CMS-Tutorial Empire CMS Die praktischste Methode, um tabellenübergreifende Abfrage-bezogene Links in Empire CMS zu implementieren

Die praktischste Methode, um tabellenübergreifende Abfrage-bezogene Links in Empire CMS zu implementieren

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

Die praktischste Methode, um tabellenübergreifende Abfrage-bezogene Links in Empire CMS zu implementieren

Das Beispiel in diesem Artikel beschreibt die Implementierungsmethode für tabellenübergreifende Abfrage-bezogene Links in Empire CMS. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:

Offizielle verwandte Links sind nicht flexibel, der Stil kann nicht beliebig geändert werden und viele Menschen möchten tabellenübergreifende verwandte Links erstellen mit Schlüsselwörtern „Peking“, wie nennt man diese Artikel also mit demselben Schlüsselwort? Zu diesem Zweck habe ich eine benutzerdefinierte Funktion geschrieben.

Es wird empfohlen, „Empire cms-Tutorial“ zu studieren.

In dieser Kategorie A kann ein kleiner Bereich von Aufrufen verwendet werden Ein etwas größerer Bereich kann dieselbe Tabelle aufrufen. Wenn der Artikel größer ist, können Sie die Anzahl der aufzurufenden Artikel auswählen. Tatsächlich können Sie auch ein Upgrade durchführen, indem Sie beispielsweise die Anzahl der Artikel angeben So rufen Sie eine bestimmte Tabelle auf, die Reihenfolge dieser Tabelle usw. Die Funktion hat keinen Stil, sodass Sie sie ein wenig verstehen können. Der Code kann selbst geändert werden. Es ist nicht besonders schwierig. Wenn jemand diese Funktion aktualisiert hat. Sie können es mit allen teilen.

Der Code lautet wie folgt:

<?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) ;
?>
**/
Nach dem Login kopieren

Ich hoffe, dieser Artikel wird für alle hilfreich sein. Der Empire CMS-Website-Builder hilft.

Das obige ist der detaillierte Inhalt vonDie praktischste Methode, um tabellenübergreifende Abfrage-bezogene Links in Empire CMS zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wo sind die Einstellungen für die mobile Version von Empire CMS? Wo sind die Einstellungen für die mobile Version von Empire CMS? Apr 17, 2024 pm 12:12 PM

Die mobilen Einstellungen von Empire CMS befinden sich in der „Mobile-Vorlage“ des Moduls „Vorlagenverwaltung“. Die spezifischen Schritte umfassen: Aktivieren der Vorlage, Auswahl des Anwendungskanals, Bearbeiten des Vorlageninhalts und Speichern der Einstellungen.

Wo ist die Karte der Imperial CMS-Website? Wo ist die Karte der Imperial CMS-Website? Apr 17, 2024 am 10:48 AM

Die Empire CMS-Sitemap finden Sie, indem Sie auf die Datei config.inc.php zugreifen und die Dositemap-Einstellungen überprüfen. Wenn auf „Ein“ gesetzt, ist die Sitemap aktiviert. Der Sitemap-Pfad befindet sich in der Sitemapurl-Einstellung und kann über einen Browser aufgerufen oder per FTP heruntergeladen werden.

Wo kann ich die Empire-CMS-Vorlagendatei zur einfacheren Verwendung ablegen? Wo kann ich die Empire-CMS-Vorlagendatei zur einfacheren Verwendung ablegen? Apr 17, 2024 am 07:22 AM

Der ideale Speicherort für die Empire CMS-Vorlagendatei ist /e/template/default/skin/default/. Zweitens kann sie auch in /e/data/skins/ und /e/skin/ abgelegt werden Pflege der Ordnerstruktur und Festlegen von Dateiberechtigungen sowie regelmäßige Sicherungen.

Wo finde ich die Empire-CMS-Datenbankkonfigurationsdatei? Wo finde ich die Empire-CMS-Datenbankkonfigurationsdatei? Apr 17, 2024 am 06:42 AM

Die Imperial CMS-Datenbankkonfigurationsdatei befindet sich im Stammverzeichnis der Website e/config/db.inc.php. Sie enthält die folgenden Konfigurationsinformationen: $dbhost: Datenbankserveradresse $dbuser: Datenbankbenutzername $dbpass: Datenbankkennwort $dbname: Datenbankname $dbport: Datenbankport $dbcharset: Datenbankzeichensatz

Wo ist die automatische Veröffentlichungsschnittstelle von Empire CMS? Wo ist die automatische Veröffentlichungsschnittstelle von Empire CMS? Apr 17, 2024 am 09:03 AM

Die automatische Veröffentlichungsschnittstelle von Empire CMS befindet sich unter /e/api/web/postinfo.php. Die Verwendungsschritte sind wie folgt: Besuchen Sie die Adresse /e/api/web/postinfo.php und verwenden Sie HTTP POST, um den Artikeltitel zu übermitteln. Spalten-ID, Kategorie-ID, Autor und Artikel. Die Inhalts- und anderen Datenschnittstellen geben eine Antwort im JSON-Format zurück, die die Veröffentlichungsergebnisse und die Artikel-ID enthält.

Wo ist die Vorlage für das imperiale CMS-Ressourcennetzwerk? Wo ist die Vorlage für das imperiale CMS-Ressourcennetzwerk? Apr 17, 2024 am 10:00 AM

Speicherort für den Download der Empire CMS-Vorlage: Offizieller Vorlagen-Download: https://www.phome.net/template/ Vorlagen-Website eines Drittanbieters: https://www.dedecms.com/diy/https://www.0978.com. cn /https://www.jiaocheng.com/Installationsmethode: Vorlage herunterladen Vorlage entpacken Vorlage hochladen Vorlage auswählen

Wo ist das Baidu Active Push Plug-in für Imperial CMS? Wo ist das Baidu Active Push Plug-in für Imperial CMS? Apr 17, 2024 am 11:00 AM

Das Imperial CMS Baidu Active Push Plug-In befindet sich im Stammverzeichnis /e/api/baidu/push.php. Die spezifischen Konfigurationsschritte lauten wie folgt: 1. Laden Sie die Plug-in-Datei in den angegebenen Pfad hoch. 2. Konfigurieren Sie die Option „Baidu Active Push“ im Imperial CMS-Hintergrund, einschließlich Push-Adresse, API-Schlüssel und Push-Intervall. 3. Baidu-Push-Informationen abrufen: Push-Adresse: https://data.zz.baidu.com/urls?site=YOUR_SITE&token=YOUR_API_KEY, API-Schlüssel: Melden Sie sich bei der Baidu-Suchressourcenplattform an, um sie zu erhalten. 4. Aktualisieren Sie den API-Schlüssel regelmäßig und legen Sie ein angemessenes Push-Intervall fest.

Ist Empire CMS kostenlos? Ist Empire CMS kostenlos? Apr 17, 2024 am 11:24 AM

Ja, Empire CMS ist ein kostenloses Open-Source-Content-Management-System (CMS). Es handelt sich um ein leichtes CMS, das reich an Funktionen und einfach zu bedienen ist. Empire CMS ist unter der GNU General Public License (GPL) lizenziert, was bedeutet, dass es kostenlos heruntergeladen, installiert und verwendet werden kann. Für die kommerzielle Nutzung wird eine kostenpflichtige Version angeboten, die zusätzliche Funktionen und Support wie Anzeigenverwaltung, Online-Zahlungen und erstklassigen technischen Support bietet.

See all articles