我有一个图像数据库,其中包含与每个图像相关的链接。我现在按月过滤它们。所以上个月,我有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>';
答案 0 :(得分:1)
我不确定您的代码失败的原因,但您可以通过在MySQL而不是PHP中进行随机选择来改进它。
const idStream = myObservableOne.pluck('id')
const nameStream = myObservableSecond.pluck('name')
const pathStream = myObservableThird.pluck('path')
Rx.Observable.zip(
idStream,
nameStream,
pathStream,
(id, name, path) => ({ id, name, path})
)
.subscribe(console.log);
答案 1 :(得分:0)
请尝试这种方法。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$(document).ready(function () {
var maxAppend = 0;
$("#addbiscuit").click(function () {
var $imageElement = $("<div class='sample_holder' ><div class='biscuit'><input type='image' src='Images/sample_thumbs/102_biscuit.jpg' width='5%' name='closeStory' class='closebtn' width='22px'></div></div>");
if (maxAppend >= 4) return;
$("#samplebox").append($imageElement);
maxAppend++;
$("i").append(addinput);
});
$("#samplebox").on('click', '.closebtn', function(){
$(this).closest('.biscuit').remove();
maxAppend--;
})
});
</script>
<script>
$(document).ready(function () {
var maxAppend = 0;
$("#addcement").click(function () {
var $imageElement = $("<div class='sample_holder' ><div class='cement'><input type='image' src='Images/sample_thumbs/61_cement_smallglass.jpg' width='5%' name='closeStory' class='closebtn' width='22px'></div></div>");
if (maxAppend >= 4) return;
$("#samplebox").append($imageElement);
maxAppend++;
$("i").append(addinput);
});
$("#samplebox").on('click', '.closebtn', function(){
$(this).closest('.cement').remove();
maxAppend--;
})
});
</script>
<div class="firstdiv"><button id ="addbiscuit" >add biscuit</button></div>
<div class="seconddiv"><button id ="addcement" >add cement</button></div>
<div id="samplebox">
<p> SAMPLE BOX </p>
</div>
<br>