如何使用一个布局页面制作多个页面? PHP

时间:2014-04-05 22:11:13

标签: php mysql hyperlink datatable

如何创建包含列表的页面,列表中的每个项目都会转换为一个链接,在该链接中会将您发送到另一个页面,其中只有链接的问题列表。很难解释。

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

我想点击Jordan并转到我的测验布局页面并根据quiz_name = Jordan

显示所有问题

然后我想点击Josh并转到我的测验布局页面并根据quiz_name = Josh显示所有问题

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

2 个答案:

答案 0 :(得分: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.
}

答案 1 :(得分:0)

由于用户可以在浏览器地址栏中使用GET变量并且您将在SQL查询中使用这些变量,因此在quiz_name.php中使用带有POST方法的表单和Jordan的单选按钮会更好Josh而不是附加到URL的变量的链接。

用于捕获POST变量的page_layout.php中的PHP代码应为:

$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列)。