人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MySQL,PHP,WEBアプリケーションに関する質問です。

MySQLに以下のフィールドを持ったテーブルがあります。かっこ内はそれぞれのフィールドの意味というか使い方です。

ブログのように記事を投稿し、それを蓄積しているテーブルです。

id(記事固有のID。1から連番)
user(記事を投稿したユーザーのID。1~)
date(記事を投稿した日。2007-03-06)
title(記事タイトル)
content(記事本文)

質問1:
記事が投稿されると、その記事をHTML(PHPでも可)で自動的に出力したいです。

http://www.hogehoge.com/ID.php
のように。(IDとは上記フィールドのidの事です)

このような仕組みを解説しているサイトを教えてください。
既存のCMSを使えば可能ですが、それはNGでお願いします。


質問2:
ページに「userの値が3の記事だけを時系列(date順)に表示する」場合はどのようなスクリプトを書けばいいのでしょか?


どちらか一つのみの回答でも構いません。
よろしくお願いします。


●質問者: tokyosmash
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:CMS HTML MySQL NG PHP
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● いのくに
●100ポイント ベストアンサー

MySQL の host を「mysql_host」、

MySQL の アカウント名を「mysql_user」、

MySQL の パスワードを「mysql_password」、

該当テーブル名を「table_name」とします。


下記 PHP ファイル名を hatena.php として ttp://www.hogehoge.com/hatena.php?ID=**** にアクセスするとすると、ID が **** の記事が表示されます。

<?php

$l = mysql_connect('mysql_host', 'mysql_user', 'mysql_password');
$re = mysql_query("SELECT * FROM table_name WHERE id = '".mysql_real_escape_string($_GET['ID'])."' LIMIT 1");

$ro = mysql_fetch_assoc($re);
echo "<html><body>\n<pre>";
echo "id: ".$ro['id']."\n";
echo "user: ".$ro['user']."\n";
echo "date: ".$ro['date']."\n";
echo "title: ".$ro['title']."\n";
echo "content: ".$ro['content']."\n";
echo "</pre>\n</body></html>";

mysql_free_result($re);
mysql_close($l);
?>

userの値が3の記事だけを時系列(date順)に表示する場合は 下記ファイルを hatena2.php として ttp://www.hogehoge.com/hatena2.php にアクセスするとお望みのように表示されます。

<?php

$l = mysql_connect('mysql_host', 'mysql_user', 'mysql_password');
$re = mysql_query("SELECT * FROM table_name WHERE user = '3' ORDER BY date ");

echo "<html><body>\n<pre>";
while($ro = mysql_fetch_assoc($re)){
echo "id: ".$ro['id']."\n";
echo "user: ".$ro['user']."\n";
echo "date: ".$ro['date']."\n";
echo "title: ".$ro['title']."\n";
echo "content: ".$ro['content']."\n\n";
}
echo "</pre>\n</body></html>";

mysql_free_result($re);
mysql_close($l);
?>

参考 http://dev.mysql.com/doc/refman/4.1/ja/select.html

◎質問者からの返答

ご丁寧にありがとうございます。

具体的で助かります。

早速質問1に関して実験してみたのですが、以下のようなエラーが出てしまいます。

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /○○○○/○○○/○○○○/test.php on line 7

色々調べた結果「中身がなんらかの原因で取得できていない」らしいです。

http://ml.php.gr.jp/pipermail/php-users/2003-August/017793.html

もうちょっと粘ってみようと思います。

質問2についても今から実験させてもらいます。

ありがとうございました!

追記:

逆でした。

質問2を試しまして、質問1はこれからでした。

追記2:

度々すいません。

頂いたスクリプトの始めにMySQLへの接続スクリプトを書いたらうまくいきました!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ