• ベストアンサー

PHPの記事IDの作り方

PHPで簡易掲示板のようなものを作成中です データベースへの値の入力、出力は一通り覚えたのですが 掲示板のスレッドの記事をミクシィなどの プロフィールなどで見かけるように http://example.com.news.php?id=0001 という感じに、IDを与えて表示したいのですが どうやったらこういう風に記事IDが作れるのでしょうか? 原理と考え方だけでも教えていただけるとありがたいです

質問者が選んだベストアンサー

  • ベストアンサー
  • oka5130
  • ベストアンサー率66% (35/53)
回答No.2

よくあるパターンとしては、こんな感じですね。 // 表示側 if( $_GET['id'] ) { $sql = "SELECT * FROM table WHERE id = '" . $_GET['id'] . "'"; // データベースからデータを取得 } // URL作成側(記事の一覧など) $count = count( $data ); for( $i = 0; $i < $count; $i++ ) { echo "<a href=\"http://~/news.php?id=" + $data[$i]['id'] + "\">hoge</a>"; } 失礼ですが、たとえ参考書に載っていなくても、基本的なことはネットで調べればすぐに見つかります。 tadokoro12さんは他にもたくさんご質問をされているようですが、 簡単なことはご自分でお探しになった方が回答を待つ必要もないですし、 いろいろと調べたらその分だけ勉強にもなると思います。 掲示板完成までまだまだわからないことは出てくると思いますが、 プログラミングをする上でわからないことを調べて答えを見つけ出す能力も重要かと思います。

tadokoro12
質問者

お礼

回答ありがとうございます、たしかに自分で 調べることも重要だと思います、以後気をつけたいと 思います、ありがとうございました

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.1

記事って、たいていの場合はDBに格納したりしますよね ということで、DBでシーケンステーブルを作ったり、AUTO_INCREMENTを使えばなーんも考えずに連番でIDをふってくれます。

tadokoro12
質問者

補足

回答ありがとうございます AUTO_INCREMENTを使って主キーにするだけでIDに連番を 振ってくれるところまではわかったのですが それをどうやってページで表示したらいいのか、よくわかりません 手元に参考書もあるのですが詳しい説明を 書いてくれてません、どうやったら ウェブページで表示できるか考え方みたいな ものを教えてもらえませんでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PHPのエラーについて

    データベースから出力し、リンクをつけたいと考えていますが、下記のようなエラーが出力されます。 どのように対応すれば解消されるでしょうか? データベースにはthread_idという項目は存在します。 echo から始まる列が38行目にあたります。 よろしくお願いします。 【コード】 <?php $sql = "SELECT * FROM thread WHERE category_id =1"; $date = mysql_query($sql,$link); while ($post = mysql_fetch_assoc($date)) { $thread_id = $post['thread_id']; echo '<br>' . '<a href="thread.php?id=<?php echo htmlspecialchars($post['thread_id']); ?>">' . $post['thread_title'] .'</a>'.'<br>'; } ?> 【エラー】 Parse error: syntax error, unexpected 'thread_id' (T_STRING), expecting ',' or ';' in C:\xampp\htdocs\index.php on line 38

    • 締切済み
    • PHP
  • PHPによるデータベースのIDの挿入

    PHPに関する質問です、PHPでmySQLに接続する際に フィールドをid,title,name,time,mailと分けたとします。 その際にIDを記事をIDで記事別に分けて表示したいのですが どうやればいいのでしょうか? 単純にID番号をインクリメントして発行するスプリクトを 作成すればいいのでしょうか? それとmySQLのデータベースから記事IDを添付した URLを作るにはどうしたらいいでしょうか? いくつも質問してすいません 当方初心者なので困っています。

    • 締切済み
    • PHP
  • FlashとPHP

     FlashとPHPをつかって、動的に変化する掲示板を作ろうと思っています。PHPから読み込んだデータベースの値をFlashに送って使用したいのですがうまくいきません。もう3日ほどなやんでいるのですが・・・  いくつか本を見たり、以前にも同じような質問は見つけたのですが、うまくいきません。  まったくの初心者なのでどこに何を書けばいいとかも間違ってるかもしれません。  お手数ですが教えていただけると大変ありがたいです。バージョンはPHPが4.4.1でFlashが8です。

  • 掲示板で記事を出力するとき*.datや*.logなどではなくhtmlで

    掲示板(phpもcgiも可)で記事を出力するとき*.datや*.logなどではなくhtml形式で出力する掲示板って存在するでしょうか?そしてそのhtmlにアクセスすると記事は見れるような。 ご存知の方がいらっしゃいましたらご伝授お願いします。

    • ベストアンサー
    • CGI
  • PHP スレッド構成の掲示板について

    PHP スレッド構成の掲示板 PHP初心者ですが、掲示板を作ってます。 2ちゃんのようなスレッド構成で、各スレッド毎に投稿することが可能です。 今、DBにはスレッドは3つまであります。表示は1~3とそれぞれ出来ています。 「投稿する」押下で「post.php」を呼んでも、thread_idは必ず「3」となってしまい、 1や2へ投稿することが出来ません。 どうすれば、それぞれのスレッドに設置した「投稿する」押下にて該当するスレッドIDを渡すことが出来るのでしょうか? ソースは以下のような記述です。foreach を2回使い、スレッドIDのループ内で投稿(message)を更にループしています。 foreach ($vars1["thread_list"] as $thread ){ foreach ($vars2["message_list"] as $message ){ -------------(一部抜粋)------------------- <SCRIPT LANGUAGE="JavaScript"> function open_win(){ window.open("post.php?thread_id=<?= $thread["thread_id"] ?>","","scrollbars=yes,resizable=yes,width=700,height=400,left=200,top=100"); } </SCRIPT> <form action="" method="post" "style="border: 1px solid black"> <INPUT type="button" value="投稿する" onClick="open_win()"> </form> -------------------------------------------

    • ベストアンサー
    • PHP
  • phpでページ分けする方法を教えて下さい。

    1つのphpでいくつものページを作成したいのですが、 「index.php?id=index」でindexページ、 「index.php?id=profile」でproflieページ、 というふうにする方法があれば、教えて下さい。 宜しくお願いします。

    • 締切済み
    • PHP
  • cakephpでidに紐づけて記事を表示

    cakephpでblogアプリケーションを作成しています。 /blog/記事のID のURLをクリックすると該当の記事が見れるようにしたいです。 不思議なのですが、DB側のカラム名がid(blogのID名)だと正しく表示されるのですが、DBの値をnoやnooなどid以外の値にすると何も表示されません。 デバッグのSQLさえも何も表示されない状況です。 具体的なコードを記載します。 正しく表示される場合 コントローラ class PostsController extends AppController { public $helpers = array('Html','Form'); public function index(){ $this->set('posts',$this->Post->find('all')); } public function view($xxx = null){ $this->Post->id = $xxx; $this->set('post',$this->Post->read()); } } ビュー <h2><?php echo h($post['Post']['num']); ?></h2> <p><?php echo h($post['Post']['hel']); ?></p> モデル <?PHP class Post extends AppModel { } ?> 何も表示されない場合 コントローラ 以下だけが上記と異なります。 public function view($xxx = null){ $this->Post->no = $xxx; ★この部分 $this->set('post',$this->Post->read()); } ビュー・モデルは同上で、DBのカラム名をidからnoに変更しています。 データベースの中身は以下です。 以下のidをnoに変更した場合うまくいきません。 id num hel _________________ 3 4 hello world 21 21 abcde 0 3 okokokoko 何かアドバイスいただけないでしょうか。 viewを見る際に何もデバッグ情報が出ないので何が悪いのかもわからない状況です。

    • 締切済み
    • PHP
  • PHPのINTの表示について

    現在PHPを独学で学んでいる者です。 MYSQLのデータベースにIDとして数字を1~1000まで登録しているのですが、 PHPで出力した際になぜか1~9はちゃんと表示され、 10は1 11は1 12は1 20は2 21は2 30は3 31は3 というように、数値の先頭だけが表示されます。 データベースではきちんと1~1000まで表示されています。 どなたかこの原因に心当たりある方いませんか? 回答お待ちしております。

    • 締切済み
    • PHP
  • 2chに掲載されているニュース記事は著作権違反?

    2ちゃんねるに、ニュース速報板などという板があり、そこに ニュースの記事が貼り付けられて(内容文章ごと)紹介されている スレッドがいっぱいあります。 あれは著作権違反じゃないんですか? 記事元を示せば良いっていうもんではないと思うんですが。 それとも、2chだから特例的にOKなんでしょうか? 普通のサイトでああいう風に、ニュース記事をそのままコピペして紹介ってのはダメですよね? どうなんでしょうかこの場合

  • 正規表現について

    codeigniterを利用しており以下の事をしたいのですが実現できません。 以下URLでアクセスした場合にTop.phpというコントローラで第一引数と第二引数を受け取りたい。 http://example.com/ユニークID/ http://example.com/ユニークID/profile 現在はhttp://example.com/にアクセスするとTop.phpというコントローラのindexアクションが起動するようにしています。 今の所routes.phpに以下を記載した事で(http://example.com/ユニークID/)にアクセスした際にTop.phpが起動して、第一引数としてユニークIDを渡せています。 $route['^((?!hoge).)*$'] = "top/$0"; // さらに(http://example.com/ユニークID/profile)でアクセスした時に第二引数として 「profile」という文字を取得したいのですが正規表現がうまく作れません。 どうかご教授いただけないでしょうか。 よろしくお願いします。

    • 締切済み
    • PHP