<?php  
$query = "SELECT * FROM `wp_2_posts` WHERE post_type = 'post' AND post_status = 'publish' ORDER BY post_date DESC LIMIT 0,7";  
$result = mysql_query($query);  
$row = mysql_fetch_array($result);  
while($row)  
{  
?>   
<li><a href="<?php echo $row["guid"];?>" title="<?php echo $row["post_title"];?>"><?php echo $row["post_title"];?></a>
<?php echo $row["post_date"];?>
</li>
<?php  
$row=mysql_fetch_array($result);  
}  
?>
代码中psot_date 为日期字段,输出来的是2011-09-20 12:04:46这样的格式,我想获得只显示年月或者年月日的格式。
另外post_title 为文章标题,如果遇到长标题输出后如果文章标题很长,如果做一个输出截断,如只输出20个字符串长度。说明post_title
存储的是英文字符,没有中文字符。
请教高手改写代码,谢谢。
另外说明一点,这个数据表是wordpress的表

解决方案 »

  1.   

    <?php   
    $query = "SELECT * FROM `wp_2_posts` WHERE post_type = 'post' AND post_status = 'publish' ORDER BY post_date DESC LIMIT 0,7";   
    $result = mysql_query($query);   
    $row = mysql_fetch_array($result);   
    while($row)   
    {   
    ?>   
    <li><a href="<?php echo $row["guid"];?>" title="<?php echo substr($row["post_title"],0,15);?>"><?php echo substr($row["post_title"],0,15);?></a>
    <?php echo date("Y-m-d",strtotime($row["post_date"]));?>
    </li>
    <?php   
    $row=mysql_fetch_array($result);   
    }   
    ?>主要做了:
    substr($row["post_title"],0,15)//截取15个字符
    date("Y-m-d",strtotime($row["post_date"]))//转换为日期,比如只有要年与月,可以直接Y-m
      

  2.   

    看了一下 baoxiaohua 的答案应该OK了吧.