如何结合我约会的逻辑

如何结合我约会的逻辑

我很难想象。。。我不知道该怎么办,快一天了,还是想不出来。。。这是我的展示,我想这样。。。
http://i.imgur.com/lNhagUD.jpg
我的实现

<?php
        $userId = (int) (!isset($_GET['id'])) ? 1 : $_GET['id'];
        $imagesResult = $db->getWhere("SELECT * FROM photo WHERE userID = {$userId} ORDER BY `when` DESC");
        echo '<pre>';
        print_r($imagesResult);
        echo '</pre>';
        foreach ($imagesResult as $key => $value) {

            if(strtotime(date('j M Y', $value['when'])) == strtotime(date('j M Y'))) {
                echo "<div class='item'><h3>Today</h3></div>";

            } else {
                echo "<div class='item'><h3>".date('j M Y', $value['when'])."</h3></div>";
            }
            echo "
                <div class='item'>
                    <a href='photo.php?photoid={$value['id']}'><img src='img/picture/{$value['userId']}/{$value['imageLocation']}' height='180' /></a>
                </div>";
        }
    ?>

我不知道从哪里开始。。。会像那样回来的。。。当日期超出循环范围时,很难做到这一点。我不知道该把。。。请帮我。。。给我一些提示。。。
$imageResult的样本返回
Array
(
    [0] => Array
        (
            [id] => 35
            [userId] => 1
            [albumId] =>
            [imageLocation] => Background.png
            [description] => some description
            [tags] =>
            [when] => 1394965560
        )

    [1] => Array
        (
            [id] => 36
            [userId] => 1
            [albumId] =>
            [imageLocation] => Background1.png
            [description] => some description
            [tags] =>
            [when] => 1394965560
        )
)

最佳答案

首先,我建议不要直接回显结果,您应该构建一个按日期(包括今天)分组的最终数组。
这样地:

     $actualImageResults = array();
     foreach ($imagesResult as $Image) {
         $subarr = (date('j M Y', $Image['when']) == date('d M Y')) ? "today" : date("j-m-Y");
         if(!is_array($actualImageResults[$subarr])) $actualImageResults[$subarr] = array();
         array_push($actualImageResults[$subarr], $Image);
    }

然后var_dump($actualImageResults)查看数据是否正确分组。。。
在此之后,您可以继续执行回声结果:
foreach($actualImageResults as $stamp => $images) {
    echo "<strong>{$stamp}</strong>";
    foreach($images as $image) {
       echo $image["imageLocation"];
       /.../

    }
}

这只是一个粗略的想法,你需要根据你的需要做出必要的调整。。。但这是我从你的问题和你张贴的图片链接了解到的。它类似于这样->从回声中生成一个最终数组,将日期作为其键,并将所有图像分组。
问题:
我猜你是在一个完全错误报告/调试等的环境中工作。。。在文件开始时关闭错误报告中的通知。类似于:
    <?php
    error_reporting(E_ALL ^ E_NOTICE);
/.../

关于php - 如何结合我约会的逻辑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22439521/

10-12 07:35