【问题标题】:limit display image take from database and display the newest image限制显示图像从数据库中获取并显示最新图像
【发布时间】:2019-07-26 00:23:52
【问题描述】:

我正在尝试将 3 张图像限制为一行。只有一行,但是,我真的不明白如何限制要显示的图像数量以及如何将最新图像显示到第一行,它只显示最新到最后一行。我正在尝试某种方法,但没有任何效果。

上传

<?php
if (isset($_POST['submit'])){
    $target_dir = dirname(dirname(__FILE__)).'/store/';
    $target = $target_dir . basename($_FILES['image']['name']);

    $db =  mysqli_connect("localhost", "root", "", "image");
    $image = $_FILES['image']['name'];
    $title = $_POST['image_title'];
    $description = $_POST['description'];

    $sql = "INSERT INTO images (image, title, description) VALUE ('$image', '$title', '$description')";
    mysqli_query($db, $sql);

    if(move_uploaded_file($_FILES['image']['tmp_name'], $target))
    {
        // header("location:../../gallery/gallery.html");
        header("location: ../test.php");
    }
}
?>

显示

<?php
$db = mysqli_connect("localhost", "root", "", "image");
$sql = "SELECT * FROM images";
$result = mysqli_query($db, $sql);
$count = 0;

while($row = mysqli_fetch_array($result)){
    $listImage = $row['image'];
    echo "<img src='store/".$listImage."' width='250' height='250'>";
}

【问题讨论】:

  • 图像表中是否有自动增量id 字段或created_at 列?
  • 您必须在表中使用DATETIME 列,并使用该字段ORDER BY DESC 获取最新图像。
  • 不要忘记LIMIT 1 或任何你想要的。
  • @ArtisticPhoenix 为什么要加LIMIT 1?他/她想获取顶部的所有行和最新的行,然后是其他行。
  • @ArtisticPhoenix 这更多地取决于用例,因为对主键进行排序不会造成太大伤害。让这个用户更新问题中的表结构,使其更清晰。

标签: php mysqli


【解决方案1】:

第 1 步:

您可能需要使用auto_increment 列或DATETIME 列更新您的表,以保存表中的当前时间。

让我们考虑在images 表中添加一个auto_increment id 字段。您需要运行以下命令:

ALTER TABLE `images` 
  ADD `id` INT NOT NULL auto_increment first, 
  ADD PRIMARY KEY (`id`);

第 2 步:

将您的 SQL 查询更改为:

// to get the latest image stored in the images table.
$sql = "SELECT * FROM images ORDER BY id DESC LIMIT 1"; 

它会为你完成这项工作!另外,我添加了LIMIT 1 - 你可以随意更改你想要的最新图片数量

注意:如果您想获取最近一个月的图片,或者您修改图片(更新日期),在这种情况下,请 考虑在表中添加 DATETIME 列并在 order by 子句。

【讨论】:

  • @ArtisticPhoenix 谢谢老兄!
猜你喜欢
  • 2018-11-08
  • 2016-11-16
  • 2019-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-23
  • 1970-01-01
相关资源
最近更新 更多