如何只从mysql中保存的名为body的行回显几行?

时间:2011-09-18 10:26:02

标签: php mysql

基本上我想通过创建一个必须限制那里指定的单词数量的函数()来回显某个页面上我的博客文章的摘要。

4 个答案:

答案 0 :(得分:1)

function sumarize($your_string){
   $count++;
   $maximum = 10;
   foreach(explode("\n", $your_string) as $line){
       $count++;
       echo $line."\n";
       if ($count == $maximum) break;        
   }
}

答案 1 :(得分:0)

这一个考虑了角色的数量,同时在最后一个单词结束而没有删除一个角色

使用

select .... SUBSTR(body,1,300) .....

稍后你可以在php中使用这个函数来剪切最后一个空格或句点的字符串,这样你就不会得到一个半切字。第二个参数是您想要的字符数。

function shorten_string($string, $characters)
{
    $shortened_string = "";
    $smaller_string = substr($string, 0, $characters);
    $pos_of_last_space = strrpos($smaller_string, " ");
    $pos_of_last_break = strrpos($smaller_string, " ");

    if (strlen($string) <= $characters) {
        $shortened_string = $string;
    } elseif (!$pos_of_last_space && !$pos_of_last_break) {
        $shortened_string = $smaller_string;
    } else {
        $break_at = 0;
        if ($pos_of_last_space > $pos_of_last_break) {
            $break_at = $pos_of_last_space;
        } else {
            $break_at = $pos_of_last_break;
        }

        $shortened_string = substr($smaller_string, 0, $break_at);
    }
}

注意:使用'nbsp'

来处理html中的空格

答案 2 :(得分:0)

让我们说你的桌子(名为 main )就是这样的。

id |博文

1 sample1

2样本2 ...

首先,您需要连接到db

$db=NEW MYSQLI('localhost', 'username', 'pass', 'dbname') or die ($db->error);

然后编写以下代码

function sumarize($your_string){
   $count++;
   $maximum = 10;
   foreach(explode("\n", $your_string) as $line){
       $count++;
       echo $line."\n";
       if ($count == $maximum) break;        
   }
}

$result=$db->query("SELECT `id`, `blogpost` FROM `main`");
while($row->fetch_object()){
echo sumarize($row->blogpost);
}

这是如何获得工作成因φ的解决方案

答案 3 :(得分:-1)

将博文的摘要和正文保存在不同的列中。