2014-10-07 62 views
0

我打電話給我的MySQL數據庫,在band_cat_list.php的標題標籤中發佈類別的名稱。 這是添加入標題代碼:PHP頁面標題標記顯示不正確

BAND_CAT_LIST.PHP 
<head> 
<?php 

    include ('database.php'); 

    $get_title = "SELECT * FROM `Categories`"; 

    $run_title = mysql_query($get_title); 

    while ($row_title = mysql_fetch_array($run_title)){ 

     $cat_id = $row_title['cat_id']; 
     $cat_title = $row_title['cat_title']; 

     echo "<title>Offstreams - $cat_title</title>"; 
    } 
?> 
</head> 

裏面的index.php,我張貼的類別。該類別顯示沒有問題,當我點擊他們,他們去到相應的頁面,這是「的index.php?band_cat_list &貓= $ CATEGORY_ID」

INDEX.PHP 
<div class="header_links"> 
    <ul class="header_ul"> 
     <?php 
      include("includes/database.php"); 

      $get_categories = "select * from Categories"; 

      $run_categories = mysql_query($get_categories); 

      if (!$run_categories) { // add this check. 
       die('Invalid query: ' . mysql_error()); 
      } 

      while ($category_row=mysql_fetch_array($run_categories)){ 

       $category_id = $category_row['cat_id']; 
       $category_title = $category_row['cat_title']; 

       echo "<li class='header_li' align='center'><a href='index.php?band_cat_list&cat=$category_id'>$category_title</a></li>"; 
       } 
     ?> 
    </ul> 
</div> 

我我的服務器上運行PHP 5.4,所以我知道函數mysql_fetch_array()不被棄用。但我無法弄清楚。當我點擊任何類別時,它只會在標題標籤中列出第一個類別。請幫忙。

回答

1

在HTML頁面中不能有多個標題標籤。

假設您在類別中有多個記錄,那麼您所寫的代碼將輸出多個標題標籤。如果我明白你正在嘗試做以下應該工作:

<head> 
<?php 

include ('database.php'); 

$id = isset($_GET['cat']) ? $_GET['cat'] : exit("cat id is missing"); 

$get_title = "SELECT * FROM `Categories` WHERE `cat_id` = '{$id}'"; 

$run_title = mysql_query($get_title); 

while ($row_title = mysql_fetch_assoc($run_title)){ 

    $cat_id = $row_title['cat_id']; 
    $cat_title = $row_title['cat_title']; 

    echo "<title>Offstreams - $cat_title</title>"; 
} 
?> 
</head> 

PS:因爲它已被棄用,不再維護你不應該使用MySQL擴展。嘗試使用mysqli的,而不是

UPDATE:

你應該chnage你的index.php文件

INDEX.PHP 
<div class="header_links"> 
    <ul class="header_ul"> 
     <?php 
      include("includes/database.php"); 

      $get_categories = "select * from Categories"; 

      $run_categories = mysql_query($get_categories); 

      if (!$run_categories) { // add this check. 
       die('Invalid query: ' . mysql_error()); 
      } 

      while ($category_row=mysql_fetch_array($run_categories)){ 

       $category_id = $category_row['cat_id']; 
       $category_title = $category_row['cat_title']; 

       echo "<li class='header_li' align='center'><a href='BAND_CAT_LIST.php?band_cat_list&cat=$category_id'>$category_title</a></li>"; 
       } 
     ?> 
    </ul> 
</div> 

的你BAND_CAT_LIST.php應顯示標題爲 「Offstreams - $ selected_category」

<head> 
<?php 

include ('database.php'); 

$id = isset($_GET['cat']) ? $_GET['cat'] : false; 

if($id) { 
    $get_title = "SELECT * FROM `Categories` WHERE `cat_id` = '{$id}'"; 

    $run_title = mysql_query($get_title); 

    while ($row_title = mysql_fetch_assoc($run_title)){ 

     $cat_id = $row_title['cat_id']; 
     $cat_title = $row_title['cat_title']; 

     echo "<title>Offstreams - $cat_title</title>"; 
    } 
} 
?> 
</head> 
+0

我有六個記錄顯示。 error_log在任何地方都沒有顯示語法的跡象,所以我不知道錯誤是什麼。它應該顯示一些內容,但它只顯示數據庫中的第一條記錄,而不管我在哪個頁面上。 – 2014-10-07 00:19:31

+0

@ user3638852什麼頁面應顯示標題標籤BAND_CAT_LIST.PHP或INDEX.PHP? – 2014-10-07 00:21:32

+0

我正在編碼INDEX.PHP上的所有內容,並將樂隊類別鏈接到BAND_CAT_LIST.PHP,其中標題標籤與正文中的樂隊列表一起。 – 2014-10-07 00:46:26

0

將您的echo移到您的while循環之外。另外,如果$cat_title是一個數組,你將需要將它轉換爲一個字符串,並可能將其格式化。

BAND_CAT_LIST.PHP

<head> 
<?php 

    include ('database.php'); 

    $get_title = "SELECT * FROM `Categories`"; 

    $run_title = mysql_query($get_title); 
    $cat_title = array(); 
    while ($row_title = mysql_fetch_array($run_title)){ 

     $cat_id = $row_title['cat_id']; 
     $cat_title = $row_title['cat_title']; 

    } 
    if (is_array($cat_title)) { 
     $cat_title = implode(" - ", $cat_title); 
    } 
    echo "<title>Offstreams - $cat_title['cat_title']</title>"; 
?> 
</head> 
+0

我試過了,但不是顯示數據庫中的第一條記錄是「Home」,現在只顯示最後一條是「Other」。我把它放在while循環中,希望它會根據訪問的類別進行刷新。 – 2014-10-07 00:22:09

+0

好的,那是因爲你沒有指定'$ cat_title'需要是一個數組並且保存多個值。它只有一個價值。我會更新我的答案。 – EternalHour 2014-10-07 00:23:48

+0

它似乎仍然不能正常工作。我似乎無法弄清楚問題所在。 – 2014-10-07 00:34:35