php - 如何将 css 类添加到 mysql 数据库的最后 10 个条目?

标签 php css mysql

我有一个非常简单的 PHP 函数,获取所有结果(从两个表“元素”和“类别”并将它们显示在一个站点上(直接在 index.php 上)

function fetchAllItems($pdo)
{
  $statement = $pdo->prepare('select Items.*, Categories.*
                              from Items
                              INNER JOIN Categories ON Items.ItemCategoryID = Categories.id
                              ORDER BY Items.ItemName ASC'
                            );

  $statement->execute();

  return $statement->fetchAll(PDO::FETCH_CLASS, 'Item');
}

现在我想在左侧添加一个带有 css 的图标到最新的(= 10 个最后的 sql 数据库条目/行),但我不知道该怎么做。

作为一个 PHP 新手,我的逻辑是这样的:

  • 找出最高id
  • 将上述结果/值减去数字10
  • 创建一个如下所示的 if 函数:“如果 $highest_id = 在 'lastInsertId() - 10' 的范围内,则应用 css-class 'new-item'”(很抱歉把它写成一个句子,不像真正的 if 函数,但如前所述,我是新手...)

但我真的不知道从哪里开始/从哪里开始,过去 3.15 小时的谷歌搜索并没有让我更进一步?!

谢谢。

最佳答案

您不能简单地从最高 ID 中减去 10 来得到第 10 个最高的,因为 ID 序列中可能存在间隙。

要获取 10 个最高的 ID,请使用:

SELECT id
FROM Items
ORDER BY id DESC
LIMIT 10

将它们放入数组 $first_10 中,然后当您显示 fetchAllItems 的结果时,您可以:

if (in_array($row->id, $first_10) {
    $class = "newest";
} else {
    $class = "";
}

关于php - 如何将 css 类添加到 mysql 数据库的最后 10 个条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46052092/

相关文章:

php - 在php中的div内发布输入框值

php - 单个网络服务器上的 PyPy + PHP

javascript - 为CSS中的单个对象事件效果创建异常

javascript - 仅为特定 URL 添加 css 样式元素

sql - MYSQL根据另一个表的几个不同值从一个表中选择5条记录

php - 如何编写查询以抑制结果集列中的连续重复值?

php - TYPO3 6.2 中的调度程序任务负载

html - 如何使 CSS 网格单元格在为空或使用显示 :none? 时折叠

mysql - 数据库多表触发器

php - 无法为 php 7.0 加载 mysql 扩展模块?