链接到完整的博客帖子sql

时间:2014-10-08 17:18:51

标签: html mysql

我已经在我丈夫的网站上工作了一段时间。我正在重新设计该网站,我想让它更具有前瞻性。目前,他的博客帖子只是在他的页面上连续显示(有一些分页来分解),这意味着如果有人想要将帖子添加到他们的收藏夹中,那么随着更多帖子的添加,它将无法工作。所以,我想创建一些简短的帖子,然后链接到完整的帖子。

我的问题是,如何做到这一点?我搜索了许多试图找到答案的网站,但我能找到的是如何设置自己的数据库(我已经拥有)以及如何创建登录(我不需要) ,并按照我已有的方式回复帖子。

基本上,我想要从帖子中摘录(前几行或其他内容),然后阅读完整文章的链接。我不确定如何在不为每个帖子制作单独的html页面的情况下这样做,而不是以某种方式将它们从我的数据库中删除。即,我不知道如何自动生成显示完整帖子所需的URL(和代码)。

如果我不是以最好的方式问这个问题,我很抱歉。答案可能就在那里,我似乎无法寻找合适的东西。 :(

编辑: 该网站是SpidersInAJar.com 数据库是mySql,使用ID,Title,Body和Date设置非常简单。

1 个答案:

答案 0 :(得分:1)

假设您的博客帖子位于数据库中名为blogpost的表中。我还假设您目前正在执行SELECT ID, Title, Body, Date FROM blogpost ORDER BY ID DESC之类的操作,然后循环查看结果,在其周围插入

并将其调用完毕。

进一步假设,您想要的是使用一个片段列表加载相同的页面,每个片段都有一个链接,当按下该链接时将重新加载页面并仅显示博客帖子。

要获取您的代码段,您需要稍微更改一下SQL:

SELECT ID, Title, CONCAT(Substring(Body FROM 1 for 300), "...") as Body, Date FROM blogpost

例如,这将为每个博客文章提供前300个字符。

在您的PHP中,您循环显示结果并将<p></p>包裹在您需要添加新链接标记的所有内容之类的内容...类似

echo '<a href="index.php?blogpost=" & <This blogposts ID> & '">read more</a>'

这会将博客帖子的ID作为变量发送回index.php页面。因此,浏览器将刷新,您将能够在您的php页面顶部blogPost=$_GET['blogpost']并抓取已发送的内容并对其进行操作。显然这会使您的代码变得更复杂,因为现在您必须确定是否发送了变量并显示所有片段(如果blogPost变量为null)或只显示博客帖子(仅从表中选择该ID并且显示它)。

这也通过SQL注入引入了巨大的安全风险。现在,任何人都可以通过操作类似于http://spidersinajar.com/index.php?id=1 or a=a;DROP TABLE blogpost;的URL来向您的数据库发送任意SQL。您希望了解如何在将sql语句发送到数据库之前正确准备sql语句,以避免心痛。

显然需要编写更多的代码才能使其工作,但这是高级别的,应该给你一些指导。