用php在我的博客中阅读更多按钮

时间:2011-12-13 17:29:00

标签: php mysql

我有一个博客,在索引页面中显示所有帖子。当我的帖子消息是24个字符时,我想要一个“显示更多”按钮/文本,如果我点击“显示更多”按钮/文本,那么它应该显示我的完整消息到另一个页面。我的索引页面代码如下:从数据库获取每个帖子:

<?php
include "db/db.php";  
$upload_path = "user/manage/userpostimg";
$sql_2 = mysql_query("SELECT * FROM user_post ORDER BY post_id DESC");

while ($rel_2 = mysql_fetch_assoc($sql_2))
{
  $idu       = $rel_2['post_id'];
  $subu      = $rel_2['subject'];
  $imgnameu  = $rel_2['img_name'];
  $imgu      = $rel_2['image'];
  $msgu      = $rel_2['message'];
  $dateu     = $rel_2['date'];
  $posteru   = $rel_2['poster'];
  $cat_nameu = $rel_2['cat_name'];

  echo "$subu" . "<br/>";
  echo '<img src="' . $upload_path . '/' . $imgnameu . '" width="75"  />  ';
  echo "$msgu" . "<br/>";
}
?>

我该怎么做?你能告诉我,那对我来说会更好。 提前致谢。

2 个答案:

答案 0 :(得分:1)

您可以使用此功能

<?php
// Original PHP code by Chirp Internet: www.chirp.com.au
// Please acknowledge use of this code by including this header.
function truncateLongText ($string, $limit, $break=".", $pad="...") {
    // return with no change if string is shorter than $limit
    if(strlen($string) <= $limit)
        return $string;
    // is $break present between $limit and the end of the string? 
    if ( false !== ($breakpoint = strpos($string, $break, $limit)) ) {
        if($breakpoint < strlen($string) - 1) {
            $string = substr($string, 0, $breakpoint) . $pad;
        }
    }
    return $string;
}
?>

使用上述功能,您可以截断第24个字符的消息,然后添加一个“Read more ...”链接,指向完整的消息。

答案 1 :(得分:0)

最简单的方法是使用jquery .click()。

这是一个可以用来截断它的插件:

http://papermashup.com/truncate-text-with-the-jtruncate-jquery-plugin/

您需要在所需的24个字符处截断您的描述,然后将其余文本添加到另一个带有类名的div中,您可以在其中引用该jquery并显示它。你遇到的最大问题是在断字处截断文本,除非你不关心它被切断的地方。

以下是juery的参考资料:

http://papermashup.com/simple-jquery-showhide-div/