PHP - 如何创建动态URL?

Kip*_*haw 3 php mysql url dynamic

我已经在网上搜索了关于这个简单任务的教程,但无济于事.所以我转向你们有用的同志们.这是我需要做的事情:

我有一个带有Events表的MySQL数据库.我需要创建一个包含事件标题列表的PHP网页,每个标题必须是指向事件完整详细信息的链接.但我想避免为每个事件创建静态页面,主要是因为我不希望数据输入志愿者必须创建这些新页面.(是的,我意识到静态页面对SEO更友好,但为了提高效率,我需要放弃这种情况.)

我已经看到过这样的PHP url语法:

pagename.php?id=20
Run Code Online (Sandbox Code Playgroud)

但我不知道如何让它发挥作用.

任何和所有的帮助非常感谢.

谢谢!

基普

Kai*_*ing 6

这是基本的PHP.您只需在编写页眉之前向DB查询事件详细信息,然后相应地编写html.

我要问你的第一件事是你知道如何连接到你的数据库.从那里,您基于$ _GET ['id']值进行查询,并使用结果填充您的html.

不要粗鲁,但问题本身表明你是PHP的新手,对吧?因此,为了提供有效的解决方案,我们可能想知道您的距离.

此外,您可以使用apache的mod_rewrite重写您的动态网址,使其看起来像静态网址.如果你对"漂亮"的网址感兴趣,这可能是一个新手级别的事情.

修改后的答案:

在循环中,您将使用查询结果中的id(假设您的主键是id)...

while($field = mysql_fetch_array($result)) { 
    echo "<p class='date'>";
    echo $field['month']." ".$field['day'].", ".$field['year'];
    echo "</p>";
    echo "<h3>";
    echo '<a href="/somepage.php?id='.$field['id'].'">'.$field['event_name'].'</a>';
    echo "</h3>"; 
}
Run Code Online (Sandbox Code Playgroud)

然后在somepage.php上你将使用get var id来提取相关信息......

$result = mysql_query("SELECT * FROM `calendar` WHERE `id` = '".mysql_real_escape_string($_GET['id'])."');
Run Code Online (Sandbox Code Playgroud)

不要忘记查看mysql_real_escape_string()来清理条目.