我试图只显示日期字段中的年份,但是当我尝试调用它时,它显示了错误的年份。所有结果都显示1970。
我是wordpress和php的新手,不知道如何准确显示我的结果。我对$mydate
的查询不正确还是在回显时是编码错误?
<table class="teachpress_publication_list">
<?php
global $wpdb;
// QUERY HERE TO COUNT TOTAL RECORDS FOR PAGINATION
$total = $wpdb->get_var("SELECT COUNT(*) FROM (SELECT * FROM wpfs_teachpress_pub LIMIT 0,650) AS a");
$post_per_page = 10;
$page = isset( $_GET['cpage'] ) ? abs( (int) $_GET['cpage'] ) : 1;
$offset = ( $page * $post_per_page ) - $post_per_page;
$result = $wpdb->get_results( "SELECT * FROM wpfs_teachpress_pub ORDER BY date DESC LIMIT $post_per_page OFFSET $offset");
$mydate = $wpdb->get_results( "SELECT date FROM wpfs_teachpress_pub" );
foreach ( $result as $print ) { ?>
<tr class="tp_publication">
<td class="tp_pub_info"> <p class="tp_pub_author"> <?php echo $print->editor; ?><br/>
<span class="tp_pub_title"> <?php echo $print->title; ?></span><br/><?php echo $print->journal; ?> <span class="dd">Year Published:<?php echo date("Y", strtotime($mydate)); ?></span> </p>
</tr>
<?php }
?>
</table>
我希望输出在MySql db的日期列中显示正确的年份,而不是始终为1970。
任何帮助将不胜感激。
答案 0 :(得分:0)
get_resulst函数的文档
wpdb :: get_results(字符串$ query = null,字符串$ output = OBJECT)
从数据库(即多行)中检索整个SQL结果集
因此,在这种情况下,$ mydate是一个对象。当您传递给该函数的参数错误时,默认年份为1970。
我认为类似的东西会起作用:
$mydate = $wpdb->get_results( "SELECT date FROM wpfs_teachpress_pub LIMIT 1", ARRAY_N);
然后:
<?php echo date("Y", strtotime($mydate[0])); ?>
或者如果每个结果可以有不同的日期,则在循环内获取$ mydate。
致谢。
答案 1 :(得分:0)
最后弄清楚,刚使用的打印功能以及date()函数
<?php echo date("Y", strtotime($print->date)); ?>
现在只能从我的数据库列显示年份。
非常感谢您的支持!
哈里哈兰