0

我正在制作一个图像网站,我需要时间戳排序方面的帮助。我有大约 5 个不同的 SQL 查询来从数据库中获取信息。这些查询中的每一个都获取时间戳。

我想要做的是从数据库中获取它,并使用 foreach 循环对所有查询中的图像进行排序。这可能听起来令人困惑,如果您不明白,请发表评论。

$images = array();

$stmt = $conn->prepare("SELECT images.*, group_images.* ORDER BY `timestamp` DESC");
$stmt->execute();

while ($images_row = $stmt->fetch(PDO::FETCH_ASSOC)) {
  $images[] = array(
    'image_id' => $images_row['image_id']);
}
return $images;

foreach($images as $image) {
    echo $image['image_id'];
    echo '<br/>';
}

这是我试图尝试的一个查询,但结果不起作用。

错误:

$images = valley_images();

$sorted_data = array();

foreach($images as $key => $value) {
    if ($key == 'timestamp') {
        $sorted_data[$value][] = $images;
    }
}

ksort($sorted_data);
4

1 回答 1

1

如果我理解正确,这可能会有所帮助:

$data; //data from database, assuming it has a "timestamp"-key
$sorted_data = array();

foreach ($data as $key => $value) {
    if ($key == 'timestamp') {
        $sorted_data[$value][] = $data;
    }
}

ksort($sorted_data);

这样,您将获得一个数组,该数组按数据库中值的时间戳排序。如果每个时间戳只有一个条目,则可以将[].

于 2013-04-02T22:57:49.860 回答