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文字より大きいかどうかを尋ねています。trueの場合は1、falseの場合は0を出力します。

探している変数の最初の135文字を出力しようとしている場合は、strlenではないsubstr

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

このため:

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

これは true または false を返しています

true の結果を 1 でエコー

false は単に空になります

于 2012-12-19T06:07:33.247 に答える