php - 脚本处理多个项目但不处理一个

标签 php mysql

我有一个图像数据库,其中包含与每个图像相关的链接。我现在按月过滤它们。上个月,我有 7 张带有链接的图片。此代码将随机选择一张图像及其链接进行显示。当我一个月内只有一张图像时,我遇到了问题。当有多个图像时,它的工作方式正是我想要的。但由于某种原因,当我只有一张时,图像不会显示。如果只有一张图像,我希望每次都能显示一张图像;如果有多个图像,我希望每次都能显示一张随机图像。

require_once $_SERVER['DOCUMENT_ROOT'] . '/SQL.php';
    use myDatabase\SQL;

    $group = variable_get('govdocs_images_group');

    // get ids of images in this group
    $images = SQL::select('SELECT `id`, `link` FROM `govdocs_images` WHERE `group` = FROM_UNIXTIME(' . $group . ')');

// pick a random number between 0 and $image_count - 1 for seeking.
$rand = rand(0, count($images) - 1);

// print link and image html.
echo '<a href="' . $images[$rand]['link'] . '">';
echo '<img src="/myFilePath/img.php?id=' . $images[$rand]['id'] . '"/>';
echo '</a>';

最佳答案

尝试这种方法。

require_once $_SERVER['DOCUMENT_ROOT'] . '/SQL.php';
use myDatabase\SQL;
$rand = 0;
$group = variable_get('govdocs_images_group');
// get ids of images in this group
$images = SQL::select('SELECT `id`, `link` FROM `govdocs_images` WHERE `group` = FROM_UNIXTIME(' . $group . ')');
// pick a random number between 0 and $image_count - 1 for seeking.
if(count($images) > 1) {
   $rand = rand(0, count($images)-1);
}
// print link and image.   
   echo '<a href="' . $images[$rand]['link'] . '">';
   echo '<img src="/myFilePath/img.php?id=' . $images[$rand]['id'] . '"/>';
   echo '</a>';

关于php - 脚本处理多个项目但不处理一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41598907/

相关文章:

php - 根据 SonataAdminBundle 中的其他更改字段

php - 如何使用 PHP 对 Mysql 的输出进行分类并避免重复值?

php - 显示同一部门员工的休假情况

mysql - SQL : Error at Union All in sql query

mysql - 选择查询与 cte 的联合

php - 仅为提交的表单编辑的值更新数据库值

sql - Mysql4 : SQL for selecting one or zero record

php - 使用 while 循环从数据库中获取值的多个 html 下拉列表

php - Laravel - Eloquent 不重复自己

php - 查找用户附近的事件地点