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

标签 php html mysql

我是 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();
            ?>

最佳答案

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

所以你可以把你的链接改成这样:

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

然后您将通过测试检索该变量,然后读取 GET 变量并执行数据库查询以使用该节目的数据填充页面。

下面是测试和检索该变量的方法:

if (isset($_GET['show']))
{
    $show = $_GET['show'];
    // Perform database lookup using $show
}

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

关于php - 如何使用最后一页上设置的变量动态填充新页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37492804/

相关文章:

javascript - 如何在 Angular 2 中实现 Chart.js?

javascript - 关于自定义 Web 组件和生命周期回调的说明

mysql - 使用 group by 和 order by 时遇到问题

Mysql删除和优化很慢

php - 做一个友好的多语言网站

javascript - 选择单选按钮后的文本输入字段

php - 是否可以在 switch 中使用 for 循环?

html - 当另一个动画 div 通过时,如何隐藏我的动画文本?

php - mongodb:插入 mysql 列作为 mongodb 子文档

javascript - 如何通过 AJAX 发送 YAML?