1


だから私は、データベースに接続されている php 経由でウェブサイトを作成しようとしています。クエリを介してフェッチして情報を取得します。ウェブサイトはニュースに関するものであるはずですが、私は保留になりました。ニュースを取得してデータベースから表示するフロント ページ全体などを作成することができました。左側のナビゲーション バー (lnav) を使用すると、選択したものに特定のニュースが表示されます (これが最初の . php ドキュメント)。今やりたいことは、個別の記事ページを作ることです。見出し、紹介、本文、日付、著者名とタイトル、ファイル名、説明とキャプションをページに表示したいと思います。使用したいページには、newswebb.php という最初のドキュメントからリンクされるナビゲーション バーを取得することも含まれます。また、SQLクエリは英語ではありません。翻訳が必要な場合は、必要に応じて編集します

これらは、それを達成するために私が書いたSQLクエリです

--  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>';
}


?>

しかし、私はそれを機能させることができません

4

2 に答える 2

0

あなたが求めているのは、get を介してデータベースから単一の記事を取得することだと思います。

そうだとすれば:

URL を持っている:

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 インジェクションを防止します。

于 2013-08-16T12:45:58.730 に答える
0

クエリに挿入する前に、GET/POST 要素を常に保護します。

$articleID = isset($_GET['article']) ? intval($_GET['article']) : '';
if(!$articleID)
{
exit("Invalid article id!");
}
//rest of code..
于 2013-08-16T12:52:12.857 に答える