我正在尝试收集尽可能多的有趣元数据,以向我正在开发的表达式引擎网站的读者展示,并且正在寻找有关以可扩展的方式计算此元数据的特定位的方法(或实际上是可行性)的指导方法。
Expression Engine 允许收集和本地显示相当多的数据,例如帖子总数和日期、评论总数和日期、标签总数等。但是我特别感兴趣找到一种方法来计算和显示数据的总数,例如字数、图像、视频或音频文件的数量,不仅在单个帖子内,而且在整个 channel 内,以及整个网站范围内。
这些总数将根据访问它们的位置在上下文中显示。因此,例如搜索结果将显示单个帖子中包含的单词/图像/等的数量, channel 的“关于”页面将显示整个 channel 的总数,而站点的“关于”页面将显示站点范围内的总数。我不清楚最好的方法,也不清楚这是否真的可行。
我不是专业的网页设计师,所以我对 html5/css3/ee 以外的任何知识都有些有限,但我思考过:
- 在自定义字段中按帖子输入这些数字,但不清楚是否可以将它们加在一起作为 channel 和网站范围的总数。
- 使用 PHP 的“计数”方法,但对 PHP 不是很熟悉,因此不确定它是否合适。
- 使用一些 mySql 方法查询数据库,同样不确定。
- 使用表达式引擎“查询模块”。 !?
- 使用一些 Jquery 插件单独进行计数,然后在事后添加。
可能单词、图像、视频和音频文件的计数以及可扩展性是完全不同的问题,但事实是我什至对探索什么途径感到非常困惑。因此,我们将不胜感激任何和所有建议或指导。
更新:我正在研究收集和添加结果的数据库方法,但我仍然对确定实际执行单词/图像/视频/音频文件计数的最佳方法感兴趣。
最佳答案
有很多解决方案,但我想到了一些可能对您有所帮助的解决方案。我只会展示我非常喜欢甚至用于我自己网站的那个。
一种解决方案是在您感兴趣的表格中创建一个计数列,当有人发帖或做某事时,该列会自动更新。您还可以创建一个名为 globalcount 的新表或任何可以计算站点范围内所有内容的表。然后可以稍后显示。如果您需要该信息,您首先需要有一种计算单词的方法/功能。当有人发帖时,只需从上一个开始数数。
上面是我用的。我使用了一个 misc 表(它有一行包含所有数据。您可以改为让每一行都包含您的信息,例如“名称”“值”),看起来像这样:
(`views`, `totalusers`, `totalgroups`, `totalthreads`, `totalposts`, `totalarticles`, `totalcomments`, `totalpms`, `activeusercount`)
在我的“新闻”表之类的东西中,我使用“总评论”来计算该文章中发布的本地评论。所以我有本地和全局评论。
在我的例子中,如果我想在新用户注册后更新“misc”表中的“totalusers”,我只需调用我的 $misc 数组并执行: $newtotalusers = intval($misc['totalusers' ] + 1);
mysql_query("UPDATE `misc` SET `totalusers`='$newtotalusers'");
或者您也可以只使用“totalusers
+1”。
您可以对任何其他您想做的事情进行同样的操作,例如任何文件计数,反之亦然。希望这会有所帮助:)
最后一件事,您还可以制作一个脚本,在数据因错误而关闭的情况下更新和修复任何表的计数值。
关于php - 以可扩展的方式计算文字、图像、视频和音频文件数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10365902/