网络建站知识发布于分享网站

当前位置:首页>>新闻中心>>CMS教程>>dedecms教程

Dedecms实现调用访客最近浏览过文章的方法

时间:2025-03-31 10:37:39    来源:    人气:0

以下是针对问题的一个解决方案,可能存在不足之处,请专业人士指正。以下内容旨在优化SEO效果,并确保代码清晰展示。


CREATE TABLE `数据库`.`dede_zj` (
    `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
    `mid` INTEGER UNSIGNED NOT NULL,
    `ip` VARCHAR(45) NOT NULL,
    `aid` INTEGER UNSIGNED NOT NULL,
    `logintime` VARCHAR(45) NOT NULL,
    PRIMARY KEY (`id`)
)
首先,在后台执行上述SQL语句以创建一个新的数据表。该表将用于存储用户访问记录,包括ID、成员ID(mid)、IP地址、文章ID(aid)以及登录时间等信息。

接着,新建一个PHP文件,命名为count_zj.php,并将其存放在puls目录下。以下是该文件的具体内容:


<?php
require_once(dirname(__FILE__) . "/../include/common.inc.php");
require_once(dirname(__FILE__) . "/../member/config.php");
global $cfg_ml;

$mid = $cfg_ml->M_ID;
$joinip = GetIP();
// 当前时间戳
$nowTime = time();

if ($mid) {
    $row = $dsql->GetOne(" Select * From `dede_zj` where aid='$aid' and mid='$mid'");
    if (!$row) {
        $dsql->ExecuteNoneQuery("INSERT INTO dede_zj(`id`, `mid`, `ip`,`aid` ,`logintime`) VALUES ('',$mid, '$joinip',$aid,$nowTime)");
    }
    $db->SetQuery(" Select title,dede_archives.id From dede_archives join dede_zj on dede_archives.id=dede_zj.aid where dede_zj.mid='$mid' order by logintime desc limit 1,5");
    $db->Execute();
    while ($row = $db->GetArray()) {
        echo "document.write(\\\"<a href='view.php?aid=" . $row['id'] . "'>\\\")";
        echo "document.write('" . $row['title'] . "')";
        echo "document.write(\\\"</a>\\\")\\r\\n";
    }
}

if (!$mid) {
    $m = $dsql->GetOne(" Select * From `dede_zjw` where aid='$aid' and ip='$joinip'");
    if (!$m) {
        $dsql->ExecuteNoneQuery("INSERT INTO dede_zjw(`id`, `mid`, `ip`,`aid` ,`logintime`) VALUES ('',$mid, '$joinip',$aid,$nowTime)");
    }
    $db->SetQuery(" Select title,dede_archives.id From dede_archives join dede_zj on dede_archives.id=dede_zj.aid where dede_zjw.ip='$joinip' order by logintime desc limit 1,5");
    $db->Execute();
    while ($row = $db->GetArray()) {
        echo "document.write(\\\"<a href='view.php?aid=" . $row['id'] . "'>\\\")";
        echo "document.write('" . $row['title'] . "')";
        echo "document.write(\\\"</a>\\\")\\r\\n";
    }
}

exit();
?>
在文章模板中添加以下代码片段,以便动态加载相关内容:


<SPAN id="span_zj"></SPAN>
<script src="{dede:field name='phpurl'/}/count_zj.php?view=yes&aid={dede:field name='id'/}&mid={dede:field name='mid'/}" type="text/javascript" language="javascript"></script>
<script type="text/javascript">
document.getElementById("zj").innerHTML = document.getElementById("span_zj").innerHTML;
document.getElementById("span_zj").innerHTML = "";
</script>
通过以上步骤,可以实现对用户访问记录的跟踪与展示。在实际引用时,只需简单插入以下代码即可:


<SPAN id="span_zj"></SPAN>
此方法虽然简单,但在实际应用中可能需要进一步优化和调整,以满足具体需求。希望以上内容能为您提供一定参考价值。

相关文章

  • Dedecms 删除文档时同时清除文章中图片的方法

    Dedecms 删除文档时同时清除文章中图片的方法

    在网站建设与维护的过程中,优化代码结构和功能是提升网站性能的重要步骤。本文将介绍如何通过自定义函数实现文章删除时自动清理相关资源的功能,从而提高系统的整洁性和存储效率。以下是具体的操作步骤及代码实现。首先, 在 `/include` 目录下创建一个名为 `extend.func.php` 的文件...
    2025-03-31
  • Dedecms上传图片提示302错误ERROR的解决方法

    Dedecms上传图片提示302错误ERROR的解决方法

    在进行图片上传操作时,用户可能会遇到302错误以及带有ERROR提示的图片上传失败问题。这些问题可能由多种原因引发,因此本文将对这些情况进行整理,以帮助大家更有效地定位并解决问题。 第一种情况:图片文件本身损坏。 这种情况会导致系统返回ERROR错误提示,不过发生概率较低。如果怀疑是图片损坏导致的...
    2025-03-31
  • DEDECMS模板使用教程

    DEDECMS模板使用教程

    如果您正在寻找一种高效的方法来使用Dedecms模板搭建网站或论坛,那么本文将为您提供详尽的指导。从模板解压到最终完成配置,每一步都将清晰呈现,帮助您快速掌握整个流程。 第一步:解压Dedecms模板 将下载的Dedecms模板文件解压出来,确保所有文件完整无误。如下图所示: 第二步:获取D...
    2025-03-31
  • Dedecms Dede 附加表自定义字段与主表文章关联方法

    Dedecms Dede 附加表自定义字段与主表文章关联方法

    在使用DedeCMS开发装修网站时,设计师和设计作品之间的关联是一个重要的功能需求。通常情况下,文章(作品)的内容部分存储在主表dede_addonarticle中,而自定义字段则存储在附加表dede_archives中。为了实现这一功能,可以采用以下两种方法。 ① 根据发布人调用相关文章; ...
    2025-03-31

公众号