脚本使用多个项目而不是一个

时间:2017-01-11 19:12:17

标签: 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>';

2 个答案:

答案 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>