2016-03-31 34 views
0

我創建了一個支持多個作者的博客。 在我的導航欄中,我包含一個下拉菜單,每個作者的名稱都鏈接到另一個頁面,該頁面將顯示用戶單擊的任何作者的描述。用一個php文件創建不同的頁面

爲了實施,我正在考慮將所有鏈接指向一個PHP文件,該文件將從MySQL中提取出任何作者被點擊的描述。而不是有多個PHP文件 - 每個作者一個,並硬編碼它。這是可能的嗎?

現在我有這樣的下拉框。

<?php 
    require_once("connection.php"); 
    $sql = "SELECT Username FROM member_details"; 
$query = mysqli_query($db_Connection, $sql); 
while ($row = mysqli_fetch_row($query)){ 
?> 
    <li><a href="author.php"><?php echo $row[0]; ?></a></li> 
    <?php 
} 
?> 

不知道該怎麼走。

+0

看看' $ _POST'或'$ _GET'。 – Albzi

+4

*「這可能嗎?」* - 簡短回答:*是*。 –

+1

我會說只看$ _POST。看起來很亂 – Andreas

回答

0

也可以將數據/變量由PHP網址

例如

在all_author頁面發送到頁面,您可以有一個像

<?php 
    $authors = get_all_author(); 
    foreach ($authors as $author) { 
     echo '<li><a href="author.php?q=' . $author->name() . '"> ' . $author->name() . '</a></li>'; 
    } 
?> 

這將輸出類似HTML的作者列表

<li><a href="author.php?q=jhon">jhon</a></li> 
<li><a href="author.php?q=james">james</a></li> 
<li><a href="author.php?q=peter">peter</a></li> 
<li><a href="author.php?q=roy">roy</a></li> 
. 
. 
. 
. 

你可以看到所有的url只被定向到一個頁面a uthor.php,我們只是發送一個變量到該頁面,現在第二部分是在作者頁面上使用該變量,並且可以通過$ _GET [「q」]訪問

<?php 
if (!isset($_GET["q"])) header('Location: '."all_author.php"); 

$author_name = $_GET["q"]; 
$author_object = get_author($author_name); 

// now you have access to this other 
echo $author_object->get_decs(); 
echo $author_object->get_name(); 
echo $author_object->get_img_url(); 
. 
. 
. 
. 




?> 
+0

我看到他添加了代碼,不會自己寫一個,但是你不認爲將index.php中的作者文件包含進來並且只使用index.php?author = jhon或q = jhon會更好而不是重定向。 – PVL

+0

以及它的公正和抽象的例子,我也知道實際的代碼,當我回答它,我的意思是我知道在所有的應用程序或框架,他們有自己的路由機制,這是控制我的網址,MVC的東西..但它可能讓我的答案有點複雜,所以我認爲不要這樣做:) –