2014-04-05 80 views
0

我該如何創建一個帶有列表的頁面,並且列表中的每個項目都變成了一個鏈接,在該鏈接處將會發送到另一個頁面,其中有一個僅基於鏈接的問題列表。很難解釋。如何使用一個佈局頁面製作多個頁面? PHP

a table column called "quiz_name" in a database consist of 

id quiz_name  question_descripition 
1 Jordan   How are you? 
2 Jordan   How old are you? 
3 Josh   Where are you from? 
4 Jordan   Favorite Color? 
5 Josh   Favorite Movie? 

我創建了一個名爲頁面其中quiz_name.php我用

$mysql = "SELECT DISTINCT quiz_name FROM $table"; 
$mydata = mysql_query($mysql,$con); 
while($records = mysql_fetch_array($mydata)){ 
    $quizname=$records['quiz_name']; 

    $_SESSION['quiz_name']=$quizname."</br>"; 
    echo $quizname; 
    echo "<a href=http://localhost/xampp/Website_DataBase/Pvamu_website/quiz_folder/quiz_layout.php>".$quizname."</a></br>"; 

顯示超鏈接列表。

List: 
1. Jordan 
2. Josh 

我想點擊約旦和去我的競猜頁面佈局和顯示基於quiz_name所有問題=喬丹

然後我想點擊Josh和去我的競猜頁面佈局和顯示所有基於quiz_name問題約什=

quiz_layout.php

Display(quiz_name) 

Question #1 
Option 1 
Option 2 
Option 3 

Question #2 
Option 1 
Option 2 
Option 3 

例如:

Display(Jordan) 

     How are you? #1 
     Option 1 
     Option 2 
     Option 3 

     How old are you #2 
     Option 1 
     Option 2 
     Option 3 

回答

0

由於用戶可以在瀏覽器地址欄GET變量擺弄,你會被使用在您的SQL查詢的變量,它會在quiz_name.php更好的使用表單POST方法和無線電Jordan和Josh的按鈕,而不是與附加到URL的變量的鏈接。

在page_layout.php的PHP代碼捕獲POST變量應該是:

$name = ''; if (!empty($_POST['name']) && $_POST['name'] != '') { $name = $_POST['name']; }

然後讓你的測驗佈局頁面右側的內容,你可以在你的SQL查詢中使用WHERE子句。類似的信息(這是一個PHP字符串):

"SELECT * FROM $table WHERE $table.quiz_name = '$name'" 

這隻會檢索(從question_description列)的名稱的適當的問題(從quiz_name列)。

+0

我是一個新的PHP和MySQL,我發現這種方法更快,更容易編碼和理解。 – Jordan

0

開始的,像這樣的鏈接:

<a href=?name=<?=$quizname?></a> 

這將確保你留在同一頁上你現在的樣子了。

下一部分是添加一些功能來查看名稱是否被實際設置。

if($_GET['name']) 
{ 
    //make sure to check user input! Never trust user input. Do that here. Please read some information about SQL injections and escaping input. Also use something like PDO. 
    $quiz = $_GET['name'] 
    // Do a select where the name is equal on the input, and output the right questions. 
} 
相關問題