所以我试图创建一个连接到数据库的PHP网站。它通过查询来获取信息。该网站应该是关于新闻的,我已经陷入困境。我已经设法创建了一个完整的首页等来获取新闻并从数据库中显示它们,当你使用左侧的导航栏(lnav)时,它会显示你所选择的特定新闻(这是第一个。 php文件)。我现在要做的是制作一个单独的文章页面。我想在我想要使用的页面上显示标题,简介,正文,日期,作者姓名和标题,文件名,描述和标题,包括从第一个名为newswebb.php的文档中链接导航栏。 SQL查询也不在eng中,如果你需要翻译它我会根据需要编辑它
这些是我编写的用于编写
-- headers and preambles to Article
SELECT Rubriker, Ingress, Brödtext, Publicerat
FROM Artiklar
WHERE ArtikelID IN (2);
--
-- I have retrieved "" name and title of all the article writer. '"
SELECT p.Namn, p.Titel, ae.ArtikelID
FROM artiklar_anställda ae join
anställda p
on p.AnställningsID = ae.AnställningsID
WHERE ae.ArtikelID IN (2);
--
-- specifies a article # 2
SELECT p.BildID, p.Filnamn, p.FotografNamn, ap.ArtikelID
FROM bilder p join
artiklar_bilder ap
on p.BildID = ap.ArtikelID
WHERE ap.BildID IN (2);
这是我到目前为止所做的事情
$query = mysql_query("SELECT artiklar.ArtikelID, artiklar.Rubriker, artiklar.Ingress, artiklar.Brödtext, artiklar.Publicerat, anställda.Namn AS Namn, anställda.Titel, anställda.AnställningsID
FROM artiklar
INNER JOIN artiklar_anställda
ON artiklar.ArtikelID = artiklar_anställda.ArtikelID
INNER JOIN anställda
ON artiklar_anställda.AnställningsID = anställda.AnställningsID");
while($row = mysql_fetch_array($query)) {
echo '<div class="ingress">' . $row['Ingress'] . '</div>';
echo '<div class="date">Publicerat: ' . date("Y-m-d", strtotime($row['Publicerat'])) . '</div>';
echo '<div class="rubrik">' . $row['Rubriker'] . '</div>';
echo '<div class="artikel">' . $row['Brödtext'] . '</div>';
echo '<div class="">' . $row['Namn'] . '</div>';
}
?>
但我无法让它工作
答案 0 :(得分:0)
我认为你要问的是通过get获取数据库中的一篇文章。
如果是这样的话:
有一个网址:
http://www.url.com/page.php?article=5
现在你可以进入你的php文件来检索文章了。
$articleId = $_GET['article'];
现在,您在查询中使用此变量来选择带有where子句的文章:
WHERE article_id = $articleId
旁注:
停止使用mysql_ *函数。检查上面的警告:http://php.net/manual/en/function.mysql-query.php
替代方案:mysqli或PDO。
还可以让您验证所有内容并防止SQL注入。
答案 1 :(得分:0)
在插入任何查询之前始终保护GET / POST元素。
$articleID = isset($_GET['article']) ? intval($_GET['article']) : '';
if(!$articleID)
{
exit("Invalid article id!");
}
//rest of code..