2013-08-30 47 views
0

在一個網頁中,我有一個側欄,其內容具有相同的內容但彼此不同;例如:導航列表內容檢索如何工作?

<ul> 
    <li>Science books</li> 
    <li>Fiction books</li> 
    <li>History books</li> 
</ul> 

如果用戶點擊其中任何一個,應該向他顯示一堆相關書籍。

我的問題是:開發人員是否必須爲這些項目中的每一個製作單獨的頁面以顯示其中的內容,或者是否有創建通用頁面的方法,以便一旦單擊項目,其內容就會顯示在那個普通頁面? (我不是在說這裏使用JavaScript)。

回答

4

是有可能用PHP,我建議你存儲在MySQL數據庫中的圖書有類似良好的結構:

Type - Name   - Genre 
Book - My Adventure - Science 
Book - The End  - History 

你可以添加更多的列的東西像圖像等。

使用PHP,你可以做一個網頁說books.php然後作出相應的鏈接books.php?type=science

然後這個PHP頁面上,你可以連接到你的數據庫做一個查詢,選擇與該類型學所有的書,你可以從URL中的變量,$_GET["type"]

事情是這樣的:

<?php 
$con=mysqli_connect("ip","user","pw","my_db"); 
$type=$_GET["type"]; 
// Check connection 
if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

$result = mysqli_query($con,"SELECT * FROM products WHERE genre = $type"); 

while($row = mysqli_fetch_array($result)) 
    { 
    echo $row['type'] . " " . $row['name']. " " . $row['genre']; 
    echo "<br>"; 
    } 

mysqli_close($con); 
?> 

在上面的例子中的產品是你的表的名稱。獲取圖書的查詢位於$result變量上,我們正在從表格產品中選擇所有類型爲您的url參數的結果

+2

謝謝!這是一個廣泛的答案:) – Cyrus

-1

uyou可以做的另一種方式:

<ul> 
<li>Science books 
    <ul> 
     <li> 
     <div class="hidden"> YOUR BOOK CONTENT </div> 
     </li> 
    </ul> 
</li> 
<li>Fiction books</li> 
<li>History books</li> 
</ul> 
+0

這是什麼實現 – JohnnyFaldo

2

這是沒有必要爲每個新的頁面,你可以簡單地通過在URL中的GET變種,並相應地加載的結果,例如

<a href="page.php?content=books">See Books</a> 

page.php

根據例如

$_GET值只顯示內容
if(!empty($_GET['content'])) { //Just to make sure content is set and its not empty 
    $show_content = $_GET['content']; //books 
} 

if($show_content == 'books') { 
    //Show Books 
} elseif($show_content == 'gadgets') { 
    //Gadgets Go Here 
} 

注:只要確保您驗證和消毒$_GET['content'] 價值,因爲它可以通過任何用戶都可以方便地進行修改。