strl缩短字符

I think I have it partly working, but for some reason, it's not getting the article's content..

<?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 } ?>

This is what it looks like: http://puu.sh/1CD32

Do you guys know why it's showing a "1" instead of what's in the database?

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

You are asking it if the variable $row['news_content'] is greater than 135 characters. It will print 1 for true and 0 for false.

If you are trying to print the first 135 characters of the variable you are looking for substr not strlen

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

You are asking it to print the result of the expression "(strlen($row['news_content']) > 135)" which will be 1 (as in true) if the string is longer than 135 characters and 0 (as in false) if not.

Because of this:

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

This is returning a true or false

echo true result in 1

and false will just be empty