0

私が取り組んでいる単純な cms の場合、定義されたページ内に記事を表示するクラスを作成しました。

たとえば、必要なもの: index.php?page=1 page_id 1 に一致するすべての記事が表示されます。

これまでのところ、page_id 1 のすべての記事が表示されますが、page_id 2 では機能しません。page_id 2 のレコードが db テーブルに存在します。

クラス:

    include_once('./includes/config.php');
class Content {


public $id;
public $page_id;
public $title;
public $content;
public $position;



var $conn;

function Content()
        {
                $this->conn = mysql_connect(Config::DB_HOST, Config::DB_USER, Config::DB_PASS);
                mysql_select_db(Config::DB_NAME, $this->conn);
        }


function disp_page_articles($page)
{
    $sql = 
"       SELECT 
           id
,              page_id
,              title
,              content
,              date
,              position 
    FROM 
           articles 
    WHERE 
           page_id = $page 
    ORDER BY 
           id
,              position";

    $result = mysql_query($sql, $this->conn) or die(mysql_error());

   if(!$result){
       return array();
   }




    while($article = mysql_fetch_assoc($result)){





    $content .= '
        <div class="blok">
        <h2>
        </br>
        '.$article['title'].'</h2>
        </br>
        '.$article['content'].'
        </br>
        '.$article['date'].'
        </div>
    ';

   } 
    return $content;
}

}

クラスの実行:

include("classes/content.class.php");


$content = "";
$content = new Content();
$page = $_GET['page'];

echo $content->disp_page_articles($page); 

echo "<p>Page ID: ". $_GET['page']."</p>";

ここで何かを忘れましたか?

4

1 に答える 1

0
WHERE 
           page_id = $page 

する必要があります

WHERE 
           page_id = '$page' 
于 2013-05-07T14:05:24.980 に答える