【问题标题】:How to make multiple pages using one layout page ? PHP如何使用一个布局页面制作多个页面? PHP
【发布时间】:2014-04-05 22:11:12
【问题描述】:

我将如何创建一个带有列表的页面,并将列表中的每个项目转换为一个链接,在该链接处,您将转到另一个页面,其中有一个仅基于链接的问题列表。很难解释。

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

【问题讨论】:

    标签: php mysql hyperlink datatable


    【解决方案1】:

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

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

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

    然后,要为您的测验布局页面获取正确的内容,您可以在 SQL 查询中使用 WHERE 子句。类似的东西(这是一个 PHP 字符串):

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

    这将只检索名称(来自 quiz_name 列)的适当问题(来自 question_description 列)。

    【讨论】:

    • 我是 php 和 mysql 的新手,我发现这种方法更快、更容易编码和理解。
    【解决方案2】:

    以这样的链接开头:

    <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.
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-18
      • 2015-01-09
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 2012-11-18
      • 2011-05-21
      • 1970-01-01
      相关资源
      最近更新 更多