这里我有一个从db中检索值的循环。我的问题是我想跳过重复的DATE值,这段代码完美无缺,但是 DATE值显示给我只想要DATE显示的所有文章 一次。
例如:
DATE: 5-2-2015
article 1
DATE: 5-2-2015
article 2
DATE: 4-2-2015
article 3
这是我的代码显示的方式
但我想这样
DATE: 5-2-2015
article 1
article 2
DATE: 4-2-2015
article 3
<?php
$postResults = posts();
foreach ($postResults as $postResult)
{
$date = strtotime($postResult['post_added_time']);
echo $date = date( 'j M Y', $date);
?>
<?php
if ($postResult['post_university'] == 'JNTU HYDERABAD')
{
?>
<div class="posts"><img class="arrow" src="<?php echo $site['config']['themeUrl'];?>/assets/images/arrow.GIF"/><a target="_blank" class="green" href="<?php echo $postResult['post_slug']; ?>"><?php echo $postResult['post_university'] . " : " . $postResult['post_title'] ;?></a>
<?php
if (strtotime($postResult['post_added_time']) > strtotime('-3 days'))
{
?>
<span class="new"></span>
<?php
}
?>
</div>
<?php
}
}
?>
答案 0 :(得分:0)
您可以尝试以下查询。
SELECT distinct date,* FROM " . POSTS . " WHERE status = ? ORDER BY pid DESC
答案 1 :(得分:0)
$new = array ();
$postResults = array (
array (
'post_added_time' => '2015-01-01',
'post_title' => 'title 1'
),
array (
'post_added_time' => '2015-01-02',
'post_title' => 'title 2'
),
array (
'post_added_time' => '2015-01-03',
'post_title' => 'title 3'
),
array(
'post_added_time' => '2015-01-03',
'post_title' => 'title 4'
),
);
foreach ( $postResults as $postResult ) {
$date = $postResult ['post_added_time'];
$new [$date] [] = $postResult;
}
echo "<pre>";
print_r($new);
die;
它将打印:
Array
(
[2015-01-01] => Array
(
[0] => Array
(
[post_added_time] => 2015-01-01
[post_title] => title 1
)
)
[2015-01-02] => Array
(
[0] => Array
(
[post_added_time] => 2015-01-02
[post_title] => title 2
)
)
[2015-01-03] => Array
(
[0] => Array
(
[post_added_time] => 2015-01-03
[post_title] => title 3
)
[1] => Array
(
[post_added_time] => 2015-01-03
[post_title] => title 4
)
)
)
您可以使用此$ new数组根据您的要求打印值。
答案 2 :(得分:0)
我通常这样做
//initialise date first
date = '';
for loop{
//Check for condition as date from loop is not equal to date in loop
if(date != date from loop){
date = date from loop
echo date;
}
rest of the code of displaying article details will be as below
...
}
希望这会对你有所帮助。