0

クリックされた特定の月の投稿を別のページにプルしようとしています.....もう少し明確にするためです。

投稿が行われた毎月を表示するページがあり、次にそのページがリンクされている2番目のページがあります。2ページ目は、前のページで選択した月の投稿を表示するためのものです。

以下は、月を表示するコードと、ユーザーがクリックするために作成したリンクです。

$months = mysql_query("SELECT DISTINCT(MONTHNAME(date)) as post_month
                       FROM article
                       LIMIT 12");


while($row = mysql_fetch_array($months)){
    echo "<a href=\"montharticles.php?id=" . $row['0'] . "\">" . $row['0'] . "</a><br/>";
}

以下は2ページ目のコードです

$article = mysql_query("SELECT article_id, content, DATE_FORMAT(date, '%d %b %y') 
                       FROM article
                       WHERE article_id = $_GET[id]");


while($row = mysql_fetch_array($article)){
    echo $row . "</br>";
}

私の問題は、2ページ目を開くと、エラーメッセージが表示されることです。

$ _GET [id]を削除して数値に置き換えました。これを行うと、「配列」が表示されます。$ _ GET [month]も試しましたが、運がありません。

ステートメントの$_GET[]部分に問題があり、月がクリックされた場合、アドレスバーのwhatsを$ _GETコマンドのwhatsに変更する必要があることに気付きましたが、その方法がわかりません。それ。

4

2 に答える 2

0

コード$rowには、結果セットの行全体を含む配列があります。

行の特定の列にアクセスするには、次のような操作を行う必要があります。

echo $row['article_id'];

次のように、日付列にエイリアスを使用することをお勧めします。

SELECT article_id, content, DATE_FORMAT(date, '%d %b %y') AS date_column

だからあなたはこれを行うことができます:

echo $row['date_column'];

これの代わりに:

echo $row["DATE_FORMAT(date, '%d %b %y')"];
于 2012-04-29T17:10:31.277 に答える
0

「配列」を取得する理由$rowは、が配列だからです。Amiが言ったように、配列内の値の1つにアクセスする必要があります。

最初のページで参照先に移動します。montharticles.php?id=IDアドレスバーを見てid属性が入力されていることを確認してから、2番目のページでそれをecho $_GET['id'];どこかにエコーアウト()してみてください。

于 2012-04-29T17:15:35.923 に答える