strl缩短字符

时间:2012-12-19 06:04:51

标签: php mysql

我认为我部分工作,但由于某种原因,它没有得到文章的内容..

<?php

        $amount_get = mysql_query("SELECT * FROM comment WHERE articleid='" . mysql_real_escape_string($_GET['id']) . "'"); 
        $comments = mysql_num_rows($amount_get);            

        $grab = mysql_query("SELECT * FROM articles WHERE id='" . mysql_real_escape_string($_GET['id']) . "' LIMIT 1");    
        $grab = mysql_query("SELECT id, news_title, news_content, news_author, news_day, news_month, news_year, news_date FROM articles ORDER BY id DESC limit 3"); 
        $news_day =$row['news_day'];
        $news_month =$row['news_month'];
        $news_year =$row['news_year'];

        if (mysql_num_rows($grab)==0) {
        echo "<div class='alert alert-note-x'>Sorry, it looks like their are no articles posted!</div>";
        }

        else if(strlen($row['news_contents']) > 135) {
                    $news_content = substr($news_content, 0, 135) . "....";
        }

         while($row = mysql_fetch_array($grab)){

    ?>

    <div class="post-container">
        <div class="post">
        <div class="left">
        <div class="date"><span class="day"><?php echo $row['news_day'] ?></span> <span class="month"><?php echo $row['news_month'] ?></span> <span class="year"><?php echo $row['news_year'] ?></span></div></div>
        <div class="postcontent"><h5 class="posttitle"><a href="#/media/<?php echo $row['id'] ?>.<?php echo stripslashes(str_replace(" ", "-", $row['news_title'])); ?>"><?php echo stripslashes($row['news_title']); ?></a></h5>                       

                <?php echo (strlen($row['news_content']) > 135); ?>

            </div>
    </div>​
    </div>  

  <?php } ?>

这就是它的样子:http://puu.sh/1CD32

你们知道为什么它会显示“1”而不是数据库中的内容吗?

<?php echo (strlen($row['news_content']) > 135); ?>

3 个答案:

答案 0 :(得分:3)

你要求它打印表达式的结果“(strlen($ row ['news_content'])&gt; 135)”如果字符串超过135个字符,则为1(如真) (如在假的情况下),如果没有。

答案 1 :(得分:1)

你问的是变量$ row ['news_content']是否大于135个字符。它将打印1表示true,0表示false。

如果您正在尝试打印变量的前135个字符,那么您正在寻找substr而不是strlen

echo substr($row['news_content'], 0, 135);

答案 2 :(得分:0)

因此:

<?php echo (strlen($row['news_content']) > 135); ?>

这是返回真或假

在1

中回显true结果

和false将为空