Php 如何使用在最后一页上设置的变量动态填充新页?

Php 如何使用在最后一页上设置的变量动态填充新页?,php,html,mysql,Php,Html,Mysql,我是PHP新手,正在尝试构建一个网站来显示存储在MySQL数据库中的电视节目信息。我目前有一个网页,将创建一个表来显示数据库中的信息,但是我希望每一行链接到一个动态填充的页面,其中包含每个节目的更多信息(也从数据库中提取)。我的问题是,我如何让网站知道点击了哪个链接,然后将其保存为变量,这样就可以在新的页面上调用它来填充正确的信息 我目前正在使用它来填充页面 <!--Populate page with data from SQL--> <?php

我是PHP新手,正在尝试构建一个网站来显示存储在MySQL数据库中的电视节目信息。我目前有一个网页,将创建一个表来显示数据库中的信息,但是我希望每一行链接到一个动态填充的页面,其中包含每个节目的更多信息(也从数据库中提取)。我的问题是,我如何让网站知道点击了哪个链接,然后将其保存为变量,这样就可以在新的页面上调用它来填充正确的信息

我目前正在使用它来填充页面

<!--Populate page with data from SQL-->
            <?php
                $servername = "localhost";
                $username = "root";
                $password = "";
                $dbname = "media_server";

                // Create connection
                $conn = new mysqli($servername, $username, $password, $dbname);
                // Check connection
                if ($conn->connect_error) {
                    die("Connection failed: " . $conn->connect_error);
                } 

                $sql = "SELECT show_title, show_desc, thumbnail_path FROM tv_shows WHERE status = 'Y'";
                $result = $conn->query($sql);

                if ($result->num_rows > 0) {
                    echo "<table><tr><th></th><th></th></tr>";
                    // output data of each row
                    while($row = $result->fetch_assoc()) {
                        echo "
                        <tr>
                            <td> 
                                <img src='../images/thumbnails/tv/".$row["thumbnail_path"]."'>
                            </td>

                            <td class='td_title'> 
                                <a href='#' onclick='show_var_set();'>".$row["show_title"]."</a>
                            </td>

                            <td class='td_desc'>".$row["show_desc"]."</td>
                        </tr>";
                    }
                    echo "</table>";
                } else {
                    echo "Error - 0 results were returned my the database. Please try again.";
                }
                $conn->close();
            ?>


有许多方法可以在页面之间传递值,但其中之一是使用会话变量:

//Include this at the top of your php scripts that use session variables
session_start();

$_SESSION['your_variable_name_here'] = value_you_want_to_store;
然后在要访问此用途的页面上:

$someVariable = $_SESSION['your_variable_name_here'];

有许多方法可以在页面之间传递值,但其中之一是使用会话变量:

//Include this at the top of your php scripts that use session variables
session_start();

$_SESSION['your_variable_name_here'] = value_you_want_to_store;
然后在要访问此用途的页面上:

$someVariable = $_SESSION['your_variable_name_here'];

更改SQL以返回
显示id

$sql = "SELECT show_id, show_title, show_desc, thumbnail_path FROM tv_shows WHERE status = 'Y'";
并将其用作
show\u var\u set()
函数的参数

    <a href='#' onclick='show_var_set(".$row["show_id"].");'>".$row["show_title"]."</a>


然后,
show\u var\u set()
函数可以使用该参数从数据库中获取该显示的详细信息。

更改SQL以返回
show\u id

$sql = "SELECT show_id, show_title, show_desc, thumbnail_path FROM tv_shows WHERE status = 'Y'";
并将其用作
show\u var\u set()
函数的参数

    <a href='#' onclick='show_var_set(".$row["show_id"].");'>".$row["show_title"]."</a>


然后,
show\u var\u set()
函数可以使用该参数从数据库中获取该节目的详细信息。

一个选项是将href链接更改为指向此页面,并传递一个可以检索的get变量。这种方法的额外好处是,您可以将特定的节目添加到书签中,然后返回到该页面,因为书签将包含GET变量

因此,您可以将链接更改为以下内容:

echo '<a href="thispage.php?show=', $row['show_title'], '">', $row['show_title'],'</a>';

切记永远不要将用户输入直接放入查询中,而是使用准备好的语句并绑定用户数据以避免SQL注入的风险。

一个选项是将href链接更改为指向此页面,并传递一个可以检索的GET变量。这种方法的额外好处是,您可以将特定的节目添加到书签中,然后返回到该页面,因为书签将包含GET变量

因此,您可以将链接更改为以下内容:

echo '<a href="thispage.php?show=', $row['show_title'], '">', $row['show_title'],'</a>';
切记不要将用户输入直接放入查询中,而是使用准备好的语句并绑定用户数据以避免SQL注入的风险