0

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

<?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); ?>
4

3 回答 3

3

您要求它打印表达式 "(strlen($row['news_content']) > 135)" 的结果,如果字符串长度超过 135 个字符,它将为 1(如 true)和 0(如 false ) 如果不。

于 2012-12-19T06:07:20.233 回答
1

您是在询问变量 $row['news_content'] 是否大于 135 个字符。它将打印 1 表示真,0 表示假。

如果您尝试打印要查找的变量的前 135 个字符,则 substr 而不是 strlen

echo substr($row['news_content'], 0, 135);
于 2012-12-19T06:14:38.943 回答
0

因为这:

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

这是返回一个真或假

回显真实结果为 1

而 false 将是空的

于 2012-12-19T06:07:33.247 回答