你好,你能帮我吗?我不能这样做:
2018年我的当前输出:
2018年活动1,2018年活动2,我想在不重复2018年活动的情况下完成这项工作
我的代码:
while($myrow=mysqli_fetch_array($result)){
$var = $myrow[\'event_date\'];
echo"
<p><b>" . date("Y", strtotime($var)) . "</b></p>
<p> " . date("d.m.Y", strtotime($var)) ."
"?>
<a class="link" href="article.php?event_id=<?php echo $myrow[\'event_id\'];?>"><?php echo $myrow[\'article_title\'];?></a>
<b><a class="link" href="speaker.php?speaker_id=<?php echo $myrow[\'speaker_id\'];?>"><?php
echo"
".$myrow[\'speaker_degree\']."
".$myrow[\'speaker_name\']."
".$myrow[\'speaker_surname\']."
".$myrow[\'speaker_patronymie\']."
</a></b></p>
";}
我的查询:
SELECT * FROM event_t\\n" . "JOIN event_speaker_article_t ON event_t.event_id=event_speaker_article_t.event_id\\n" . "JOIN article_t ON event_speaker_article_t.article_id=article_t.article_id \\n" . "JOIN speaker_t ON event_speaker_article_t.speaker_id=speaker_t.speaker_id\\n" . "ORDER by event_date
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成
好的,您的事件已经按日期排序,所以您所要做的就是忽略标题,之前的事件是同一年的。
让我们也尽量避免所有意大利式的代码,您已经发布了这些问题:
<?php
$previous_year = false;
while ( $myrow = mysqli_fetch_array($result) ) :
$event_datetime = strtotime($myrow[\'event_date\']);
?>
<?php if ( date(\'Y\', $event_datetime) != $previous_year ) : ?>
<p><b><?php echo date(\'Y\', $event_datetime); ?></b></p>
<?php endif; ?>
<p><?php echo date(\'d.m.Y\', $event_datetime); ?>
<a class="link" href="article.php?event_id=<?php echo esc_attr($myrow[\'event_id\']); ?>">
<?php echo esc_html($myrow[\'article_title\']); ?>
</a>
<b><a class="link" href="speaker.php?speaker_id=<?php echo esc_attr($myrow[\'speaker_id\']); ?>">
<?php echo esc_html($myrow[\'speaker_degree\']); ?>
<?php echo esc_html($myrow[\'speaker_name\']); ?>
<?php echo esc_html($myrow[\'speaker_surname\']); ?>
<?php echo esc_html($myrow[\'speaker_patronymie\']); ?>
</a></b>
</p>
<?php
$previous_year = date(\'Y\', $event_datetime);
endwhile;
?>
另一件事是。。。你不应该使用
mysqli_*
WP中的功能。已经有了
WPDB
类来连接到DB并执行DB查询,您真的应该改用它。