gpt4 book ai didi

php - 如何用php自动创建页面? (更多细节在里面)

转载 作者:行者123 更新时间:2023-11-29 02:50:46 24 4
gpt4 key购买 nike

我正在用 php-mysql 开发一个新闻网站。


这是表格:

news_id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
news_title VARCHAR(250) NOT NULL,
news_short_description TEXT NOT NULL,
news_full_content TEXT NOT NULL,
news_author VARCHAR(30) NOT NULL,
news_published_on DATE NOT NULL
)";

在网站的索引页上将显示文章。


$sql = "SELECT news_id,news_title,news_short_description,news_full_content,news_author,news_published_on FROM ARTICOLI ORDER BY news_id DESC LIMIT 10";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<h3>". $row["news_title"]. " </h3><br> " . $row["news_short_description"]. "<br> " ."Posted by ". $row["news_author"]. "<br>";
}
} else {
echo "0 results";
}

我需要什么?我不知道如何为单篇文章创建自动页面和链接。示例:www.website.com/this-is-the-title-of-the-article。我正在考虑使用 db 表的 id,但是如何选择一个精确的行?你能帮助我吗?谢谢!!! ;)

最佳答案

一个想法。首先,您需要在表中添加一个 slug 字段 ( https://en.wikipedia.org/wiki/Semantic_URL#Slug ),它将以 this-is-the-title-of-the-article 的形式保存标题。

这里的假设是“slug”需要是表中的唯一字符串。

其次,您需要使用某种重写机制(例如 apache 的 mod_rewrite)将 www.website.com/this-is-the-title-of-the-article 形式的请求转换为您可以通过一个 PHP 脚本。例如 www.website.com/this-is-the-title-of-the-article 被重写为 www.website.com/index.php?q=this-is-the-title-of-the-article ).

示例 .htaccess

RewriteRule ^(.*)$ /index.php?q=$1 [L] 

index.php

<?php 
$articleSlug = isset($_GET(["q"])?$_GET["q"]:null;

if ($articleSlug !== null) {
$query = "SELECT news_id,news_title,news_short_description,news_full_content,news_author,news_published_on FROM ARTICOLI WHERE slug=?"; // Bind the ? to $articleSlug
//Execute SQL here and echo the results
} else {
// 404 error
}

我知道这是一个非常模糊的描述,这只是一种实现方式。我个人建议您研究 MVC 框架,例如Laravel 已经内置了所有这些功能。

关于php - 如何用php自动创建页面? (更多细节在里面),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36203424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com