在调用echo命令的列时打印错误的日期

时间:2019-06-07 07:26:21

标签: php mysql wordpress

我试图只显示日期字段中的年份,但是当我尝试调用它时,它显示了错误的年份。所有结果都显示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; ?>&nbsp;<span class="dd">Year Published:<?php echo date("Y", strtotime($mydate)); ?></span> </p>

          </tr>

            <?php }
          ?>
</table>

我希望输出在MySql db的日期列中显示正确的年份,而不是始终为1970。

任何帮助将不胜感激。

2 个答案:

答案 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)); ?>

现在只能从我的数据库列显示年份。

非常感谢您的支持!

哈里哈兰