使用 PHP 和 MySQL 自动创建新页面


automatically create new pages with php and mysqli

仍然让我的

脚湿润于php和mysqli,有很多东西要学,但在这一点上,这个问题是我最重要的优先事项之一。

老实说,我对这个问题做了一些研究,但目前对我的水平来说非常复杂的东西不知所措。我想找到最简单最有效的方法来"自动"生成大量页面,每个页面都有不同的数据。

下面的第 1 页代码示例非常简化,因为实际页面实际上有更多的内容,但我希望简化的示例能说明我的观点。

<?php
$servername = "servername";
$username = "username";
$password = "password";
$db= "db";
$conn = mysqli_connect("servername","username","password","db");

$query = "SELECT word FROM demo WHERE group=1";
$result = $conn->query($query);
$row = mysqli_fetch_assoc($result);
$word = $row['word'];
echo $word;
?>

在我的表格中,我在"组"列中有 500 个条目(记录?),编号为 1、2、3 等,一直到 500。出于我的特定目的,我绝对需要创建与组一样多的在线页面 - 在本例中为 500 个页面。

第 2 页的回声必须引用第 2 组,第 3

页的回声必须引用第 3 组,依此类推。

显然,有一种方法可以做到这一点,而无需复制和粘贴代码 500 次并手动更改每个代码中的组! 哈哈。 但是最简单的方法是什么?

提前感谢您的任何理解和帮助,无论哪种方式,祝您度过美好的一天。

如果我理解正确,我相信您正在等待从数据库动态创建页面。您可以在请求中使用 get 变量http://yoursite.com/page.php?group=1. 然后在代码中更新查询以执行:

$query = "SELECT word FROM demo WHERE group=".$_GET['group'];

该查询是不安全的,因为任何用户都可以将原始mysql注入$_GET['group']变量中。

$group = mysqli_real_escape_string($conn, $_GET['group']);
$query = "SELECT word FROM demo WHERE `group`='$group'";

这样就安全多了。

所以 PHP 会在它访问的任何目录中查找一个名为 index.php 的文件。您可以将此类文件放在public_html或 www 的根目录中,或者您的网站访问的任何位置。现在,在此文件中,您可以执行以下操作:

<?php
    if($_GET['group']){ //Make sure you have the var
         $query = "SELECT word FROM demo WHERE `group`=?"; //The query with param
        if ($stmt = mysqli_prepare($conn, query){ // try it out
            mysqli_stmt_bind_param($stmt, "i", $_GET['group']); // bind the data
            $stmt->execute(); //run it
            $result = $stmt->get_result(); // get results
            //use result to echo and stuff
        }
    } else {
        //Do something incase there is not a group specified.
        echo "Nothing here";
    }
?>

现在,当您访问您的网站时,您将获得"localhost/index.php"之类的内容,并在此处看到"什么都没有",但是如果您键入localhost/index.php?group='55',您将可以访问结果中的第55页数据。