簡體   English   中英

我想根據 page_id 顯示不同的內容,但是在每個頁面上'echo page_id'結果都是一樣的

[英]I want to display different content based on page_id, but on every page 'echo page_id' result is the same

我有一個包含頁面及其子頁面的動態網站。 頁面的結構來自 page.php,子頁面來自 subpage.php 文件。 我的問題是,如何為 page_id=5 的子頁面提供不同的結構?

可以說,子頁面的內容如下:

<div class="a">
  <div class="b">
   <h1>some text</h1>
   <img src="">
  </div>
</div>

但如果子頁面父頁面 id 為 5,則內容應該類似於

<div class="c">
  <h3>some text</h3>
</div

我試圖在子頁面上回顯 page_id.. 但由於某種原因,在每個子頁面上,它都會回顯最新插入的 page_id..

我的 SQL 表:

table pagespage_id (AI, PK), page_name

table subpagessubpage_id (AI, PK), page_id, subpage_name

class.php 文件:

class Page {
    public function fetch_all(){
        global $pdo;

        $query = $pdo->prepare("SELECT * FROM pages");
        $query->execute();

        return $query->fetchAll();
    }    
    public function fetch_data($page_id) {
        global $pdo;

        $query = $pdo->prepare("SELECT * FROM pages WHERE page_id = ?");
        $query->bindValue(1, $page_id);
        $query->execute();

        return $query->fetch();
    }

}
class Subpage {
    public function fetch_all(){
        global $pdo;

        $query = $pdo->prepare("SELECT * FROM subpages");
        $query->execute();

        return $query->fetchAll();
    }
    public function fetch_data($subpage_id) {
        global $pdo;

        $query = $pdo->prepare("SELECT * FROM subpages WHERE subpage_id = ?");
        $query->bindValue(1, $subpage_id);
        $query->execute();

        return $query->fetch();
    }
}

子頁面.php 文件:

<?php
  include_once('class.php');
  $page = new Page;
  $subpage = new Subpage;

  $pages = $page->fetch_all();
  $subpages = $subpage->fetch_all();
?>

<!DOCTYPE html>
 <html>
  <head></head>
<body>

<!-- SOME EXAMPLE -->

  <?php if ($subpage['page_id'] != 5) { 
        echo 'id is not 5';
      } else {
        echo 'id is 5';
  } ?>

</body>
 </html>

我試圖在子頁面上回顯 page_id.. 但由於某種原因,在每個子頁面上,它都會回顯最新插入的 page_id..

您還需要過濾subpage查詢中的pageId

public function fetch_data($subpage_id, $page_id) {
    global $pdo;

    $query = $pdo->prepare("SELECT * FROM subpages WHERE subpage_id = ? and page_id=?");
    $query->bindValue(1, $subpage_id);
    $query->bindValue(2, (int)trim($page_id), PDO::PARAM_INT);
    $query->execute();

    return $query->fetch();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM