-1

誰かがこれを手伝ってくれることを願っています。

substr を使用して記事の要約を提供しています。ここでの問題は、リンクをクリックして記事全体を表示すると、まだ substr バージョンが表示されることです。これは明らかに、コードの仕様が原因で発生します。

誰かがリンクをクリックした場合に substr なしで完全な記事を表示する別のクエリを作成する必要があります。これについてどうすればよいかわかりません。誰か助けてもらえますか?私が学んでいる間、PHP の知識はかなり限られています。

<?php
class MyCMS 
{
function get_content($id = "")
{
    if ($id != ""):
        $id = mysql_real_escape_string($id);
        $sql = "SELECT * FROM content WHERE blog_id = '$id'";
        $return = '<p><a href="index.php"> Go Back To Content Page</a></p>';

    else:
        $sql = "SELECT blog_id, title, date, body FROM content ORDER BY blog_id DESC LIMIT 0, 3";
    endif;

$res = mysql_query($sql) or die(mysql_error());
    if(mysql_num_rows($res) !=0):
        while($row = mysql_fetch_assoc($res))
        {
            echo '<div id="roundedbox"><h2><a href="index.php?id=' . $row['blog_id'] . '">' . $row['title'] . ' </a></h2>';
            echo '<div id="date"><h5><p>' . $row['date'] . '</p></h5></div>';
            echo substr('<p>' . $row['body'] . '</p>',0, 90)." .... "." read more </div>";
        }
        else:
            echo '<p> UH OOH! THERE IS NO SUCH PAGE IT DOES\'T EXIST </p>'; 
            echo $return;
        endif;  

}


}
?>
4

3 に答える 3

1

通常、アーティクルをデータ クラスにカプセル化します (別名「モデル」、MVC アーキテクチャを参照)。このモデルは、記事のすべてのデータを保持し、記事の要約または長いバージョンを返すメソッドを持っています。クライアントが見たいバージョンを識別するには、別の引数を URL に渡します。

class Article {
    protected $text;
    protected $title;

    public __construct ($title, $text) {
        $this->title = $title;
        $this->text = $text;
    }        

    /** 
     * Returns the short excerpt of the article
     */
    public getShortAbstract () {
        // your substr() function
    }        

    /**
     * Returns the full article
     */
    public getText () {
        return $this->text;
    }
}
于 2013-06-12T22:53:32.243 に答える