如何使用PHP创建数百个具有不同MySQL数据的动态页面

如何使用PHP创建数百个具有不同MySQL数据的动态页面,php,mysql,scripting,Php,Mysql,Scripting,我在下面有一个简单的MySQL表,目前正在显示它的内容,代码在这篇文章的底部 为了演示,我在这里只包含了3条记录,但实际上我有数百条记录,并且希望找到某种方法动态生成数百个页面,其中每个页面都显示一个与数据库不同的行 例如: page1.php -(contents)- Jonathan Smith page2.php -(contents)- Samantha Rafael page3.php -(contents)- Robert Weadababitzaboi 最简单的方法是什么?任何指

我在下面有一个简单的MySQL表,目前正在显示它的内容,代码在这篇文章的底部

为了演示,我在这里只包含了3条记录,但实际上我有数百条记录,并且希望找到某种方法动态生成数百个页面,其中每个页面都显示一个与数据库不同的行

例如:

page1.php -(contents)- Jonathan Smith
page2.php -(contents)- Samantha Rafael
page3.php -(contents)- Robert Weadababitzaboi
最简单的方法是什么?任何指示都将不胜感激

成员表

id firstName lastName
1乔纳森·史密斯
2萨曼莎·拉斐尔
3罗伯特·韦达巴比扎博

<?php  

$db = new mysqli('localhost', 'root', '', 'test');
$sql = 'SELECT * FROM members;
$result = $db->query($sql);
echo displayResults($result);
$db->close();

function displayResults($result) {
//build it
while($row = $result->fetch_object()) {
    $r .= '<div id="firstName"><img src="';
            $r .=  htmlspecialchars($row->firstName) ;
    $r .= '"></div>';
            $r .= '<div id="lastName">';
            $r .=  htmlspecialchars($row->lastName) ;
    $r .= '</div>';
}
return $r;
}

您可以使用.htaccess(如果您使用的是Apache)并进行一些重写,这些重写可以在本页上看到:

如果您想创建文件,这就是您需要的:

将成员ID作为GET参数传递到您的URL:

domain.example.org/member.php?id=42

准备一条语句以从DB检索该成员的详细信息:

    $stmt = $db->prepare("SELECT * FROM members WHERE id = ?");
    $stmt->bind_param('i', $_GET['id']);
    $stmt->execute();
    $result = $stmt->fetch();
并使用结果呈现页面


很可能你不需要做比这更复杂的事情。

选择*FROM members后缺少一个引号为什么你希望每个页面都有一段代码并链接到它domain.com/mem/1 domain.com/mem/2等你希望特定页面的url是什么样的?你是说你想要一个页面将动态使用以获取每个用户页面,正如blamonet在下面所说的,您可以使用htaccess来修改urlsHow脚本是否知道要查找哪个
id
?我知道您上面编写的第二个代码将获得特定id的信息,但它如何知道如何查找
id=42
,即使它位于该页面上?@McLean25该id是作为链接到上一页面的URL的一部分传入的。在这个问题中,你可以看到询问者有一个索引页面,他在其中列出了DB表中的每一项。PHP是否识别url中的id?还是从正在传递的全局变量?他所要做的就是设置url的
正确吗?还有,
$this
从哪里来?