• ベストアンサー

phpの機能について

掲示板を作成しています。 ・スレッド名をクリックして、既読になった場合はスレッド名を細字に変える ・クリック時に最終読み込み時間を送信する(クリック時にsqlにデータを送信する必要があるかと思いますが、その方法がわかりません。) 等はPHPとmysqlを使うとどのように実装していけばいいでしょうか? ざっくりした質問ですがよろしくお願いします。

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

  • ベストアンサー
  • hue2011
  • ベストアンサー率38% (2801/7251)
回答No.1

何もない状態で唖然とした質問ですから、誰もこたえられないでしょう。 更新のタイミングでSQLを飛ばすことすらわからないようでは誰も教えようもない。 でも、PHPを使うというなら答えられます。 cake2でお作りなさい。 ER図を描けるという程度の実力は要求されますが、それ以上は何もいりません。 bakeで大体のソースは生成できます。 SQLを書く必要はありません。 recursiveを1として、深い読み方をしないで実現できます。 さすがに、cake2は本を買って読んで勉強してください。

kokoko69
質問者

補足

ご回答ありがとうございます! cakeを確認してみました!とても分かりやすかったです。

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

関連するQ&A

  • PHPについて。

    PHP+MYSQLで掲示板を作成しています。 /*************** スレッドのタイトル(su)にデータがあればtbj0に挿入 ***************/$su_d=htmlspecialchars($_GET["su"]); if($su_d<>""){ mysql_query("INSERT INTO tbj0 (sure,niti,aipi) VALUES ('$su_d',now(),'$ip')"); } 送信フォームよりスレッドタイトルを入力し、スレッドを作成するというものなのですが、 if($su_d<>"")この文の意味が分かりません。 「<>」は比較演算子で~と等しくないだと思うのですが、「<>」はa<>b等という形で使うものと認識していたため、if($su_d<>"")とした場合、変数$su_dが""と等しく無い場合にはテーブルにデータを挿入するという意味なのでしょうか? もし、そうだとしても、私には""と等しくなければという意味も分からないのですが。 初歩的な質問かもしれませんが、ご教授お願い致します。 ソースはこちらです。 <?php /*************** データベース情報等の読み込み ***************/ require_once("data/db_info.php"); /*************** データベースへ接続、データベース選択 ***************/ $s=mysql_connect($SERV,$USER,$PASS) or die("失敗しました"); mysql_select_db($DBNM); /*************** タイトル、画像等の表示 ***************/ print <<<eot1 <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html;charset=Shift_JIS"> <TITLE>SQLカフェのページ</TITLE> </HEAD> <BODY BGCOLOR="lightsteelblue"> <IMG SRC="pic/oya.gif"> <FONT SIZE="7" COLOR="indigo">  SQLカフェ掲示板だよ~ </FONT> <BR><BR> 見たいスレッドの番号をクリックしてください <HR> <FONT SIZE="5"> (スレッド一覧) </FONT> <BR> eot1; /*************** クライアントIPアドレス取得 ***************/ $ip=getenv("REMOTE_ADDR"); /*************** スレッドのタイトル(su)にデータがあればtbj0に挿入 ***************/ $su_d=htmlspecialchars($_GET["su"]); if($su_d<>""){ ←←←←←←←←←←←←ここです mysql_query("INSERT INTO tbj0 (sure,niti,aipi) VALUES ('$su_d',now(),'$ip')"); } /*************** tbj0の全データ抽出 ***************/ $re=mysql_query("SELECT * FROM tbj0"); while($kekka=mysql_fetch_array($re)){ print <<<eot2 <A HREF="keizi.php?gu=$kekka[0]">$kekka[0] $kekka[1]</A> <BR> $kekka[2]作成<BR><BR> eot2; } /*************** データベース切断 ***************/ mysql_close($s); /*************** スレッド名入力用表示、トップ等へのリンク ***************/ print <<<eot3 <HR> <FONT size="5"> (スレッド作成) </FONT> <BR> 新しくスレッドを作るときは、ここでどうぞ! <BR> <FORM METHOD="GET" ACTION="keizi_top.php"> 新しく作るスレッドのタイトル <INPUT TYPE='text' NAME='su' SIZE='50'> <BR> <INPUT TYPE="submit" VALUE="作成"> </FORM> <HR> <FONT SIZE="5"> (メッセージ検索) </FONT> <A HREF="keizi_search.php">検索するときはここをクリック</a> <HR> </BODY> </HTML> eot3; ?>

    • ベストアンサー
    • MySQL
  • phpの掲示板でレスがあったスレッドを上にしたい

    phpとMySQLでスレッド掲示板を作っています。 掲示板の機能に「レスがあったスレッドを一番上にする」というのを実現したいのですが、どのような仕組み(考え方)をしたらいいのか分かりません。 MySQLには「スレッド用のテーブル」と「レス用のテーブル」がありますが、どのような連携をしたらいいのか・・・ 参考になるサイトなどありましたらよろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPでの検索機能がうまく動きません

    PHPでの検索機能が動かなくて困っています。 <form>で入力した値を、MySQLのWHEREで条件付けて取り出したいのですがうまくいきません....。 最終的に、 1、formに検索ワードを入力 2、DBから条件にあったレコードを持ってくる 3、持ってきた値を表示 という機能にしたいのですが....。 --- --- --- --- --- --- --- --- --- --- --- --- <?php //データベースに接続 mysql_connect('xxx', 'xxx', 'xxx') or die(mysql_error()); mysql_select_db('xxx'); mysql_query('SET NAMES UTF8'); //フォームで送られてきた条件を元にSELECT文を作成 if (!empty($_POST['nm'])) { $q = $_POST['nm']; $sql = 'select * from test_tb where name like "%$q%"'; $record = mysql_query($sql) or die(mysql_error()); } ?> <html> <body> <form action="" method="post">    名前:<input type="text" name="nm">    <input type="submit" name="exec" value="検索"> </form> <?php while($row = mysql_fetch_assoc($record)): ?> <?php echo $row['id']; ?> <?php echo $row['name']; ?> <?php endwhile ?> </body> </html> --- --- --- --- --- --- --- --- --- --- --- --- エラーは表示されないのですが、結果も表示されません。 さまざまなサイトや他の方の質問、MySQLやPHPの本を参考にしたのですが うまくいかなかったのでご質問させていただきました。 プログラミング初心者の上、はじめての質問で不備があると思いますが、 どうぞよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 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とMySQLについて

    PHPとMySQLについて PHP、MySQLともに初心者の者です。 ネットの情報を参考に以下のようなプログラムを作成しました。 <?php //ファイルを読み込み require_once("DB47.php"); // クエリを送信する $sql = "SELECT * FROM japanDB ORDER BY PREF_CD"; $result = executeQuery($sql); //結果セットの行数を取得する $rows = mysql_num_rows($result); //表示するデータを作成 if($rows){ while($row = mysql_fetch_array($result)) { $tempHtml .= "".$row["PREF_CD"]." ".$row["PREF_NAME"]." "; $tempHtml .= "\n"; } $msg = $rows."件のデータがあります。\n\n"; }else{ $msg = "データがありません。\n\n"; } //結果保持用メモリを開放する mysql_free_result($result); ?> <?= $msg ?> <?= $tempHtml ?> これはデータベースに 1、北海道 2、青森 ・  ・ ・  ・ ・  ・ 47、沖縄 といった情報を与えており、PHP側でMySQLに接続し、その内容をコマンドプロンプト上で表示するといったものです。 しかし、PHPプログラムを実行してしまうと、全データが一気に表示されてしまうので、見づらいものとなっています。 そこで、地名や番号を入力すれば、地名を表示するような検索機能を付けたいのですが、PHPからMySQLデータベース内を検索する方法が分かりません。検索機能をこのプログラムに組み込みたいのですが・・・。 どなたかご教授お願いいたします。 ***環境*** OS : Windows XP Pro PHP4.2.3 、MySQLインストール済み **********

    • ベストアンサー
    • PHP
  • Yomi-search(PHP)を設置する際のconfig.phpの設定

    http://sql.s28.xrea.com/src/ の手順でYomi-sseach(PHP)を設置する際にconfig.phpの設定をしてサーバーへUPし、パーミッションの変更までしてみましたがセットアップ画面に行き着きません。どなたか詳しい方がいらっしゃいましたら、ぜひ教えて下さい!あほなので出来れば分かり易く具体的に・・・。贅沢行って申し訳有りません。詳細は以下のとおりです。 ・サーバー:ロリポップ ・MySQL:作成済み ・パーミッションは合っているかちょっと不明 <?php #データベース設定 $cfg = array( #'db_sql' =>'sqlite', #SQLサーバ名 'db_sql' =>'mysql', #SQLサーバ名 'db_host' =>'localhost', #SQLのホスト名 'db_user' =>'MySQLのユーザ名', #SQLのユーザ名 'db_password' =>'MySQLのパスワード', #SQLのパスワード 'db_database' =>'MySQLのデータベース名', #SQLのデータベース名 'sqltb' =>'ys_', #テーブルのプレフィックス ) ?> 上記のホスト名・テーブルのプレフィックスは意味が分かってないので自信ありません。

    • 締切済み
    • PHP
  • オートコンプリート PHP MySQL

    オートコンプリート PHP MySQL お世話になります。PHP初心者です。 PHPとMySQLでHomepageを作成中ですが、 テキスト入力時オートコンプリート機能を実装したいですが、 リストはMySQLの列を参照するようにしたいですが、 教えていただけないでしょうか? 参考になるようなサンプル、HPでも教えていただけないでしょうか? よろしくお願いいたします。

    • 締切済み
    • PHP
  • PHPとMYSQLを使って掲示板を作りたいんですが

    PHPとMYSQLを使って掲示板を作りたいんですが作り方が載っているHPなどないでしょうか?レスができる掲示板が作りたいです。 私はHPをまだ作った事がないのでわかりやすく書いてあるHPがいいです。PHPとMYSQLは本で勉強したんですが、レス付きの掲示板作成が載ってなかったのでここで質問させてもらいました。 よろしく御願いします。

    • ベストアンサー
    • PHP
  • PHPでの検索機能実装について(フレームワーク無し

    PHP初心者です。 現在、PHPにてDBからアクセスし、DBの検索を実装するプログラムを作成しております。 参考HPを元に下記のプログラムを作成したのですが、参考HPのコードではフレームワークが組み込まれており、 フレームワークを組んでいない私のコードではエラーが発生してしまいます。 エラー内容: Warning: mysql_fetch_array() expects parameter 1 to be resource, (省略) line63 Warning: mysql_free_result() expects parameter 1 to be resource, (省略) line74 参考HPでは、search.phpの17行目'$search'が宣言されてない状態で記載されて おりましたので、search.phpの最初にて宣言しました($searchでは検索キーを格納して おります)。 恐れいりますが、ご教示願います。 input.php 検索ワードを送信 <form action="search.php" method="POST"> <input type="text" name="searchkey"> <input type="submit" name="searchid" value="検索"> </form> search.php <?php $search = htmlspecialchars($_POST['searchkey']); //データベースに接続 if (!$con = mysql_connect("ホスト名", "user名", "パスワード")) { echo "接続エラー"; exit ; } //データベースを選択 if (!mysql_select_db("db名", $con)) { echo "データベース選択エラー"; exit ; } //フォームで送られてきた条件を元にSELECT文を作成 $sql = "SELECT * FROM listwhere name LIKE '% . $search . %'"; //SELECT文を実行 if ($res = mysql_query($sql)) { echo "SQLエラー<BR>" ; exit ; } //検索結果<br> echo "<table border=1>" ; while($row = mysql_fetch_array($res)){ //エラー echo "<tr>" ; echo "<td>" . $row["id"] . "</td>" ; echo "<td>" . $row["name"] . "</td>" ; echo "<td>" . $row["date"] . "</td>" ; echo "<td>" . $row["registant"] . "</td>" ; echo "<td>" . $row["comment"] . "</td>" ; echo "</tr>" ; } echo "</table>" ; //結果セットの開放 mysql_free_result($res); //エラー //データベースから切断 mysql_close($con); ?>

    • ベストアンサー
    • PHP
  • PHPを使って掲示板の作成をしています

    今回、お聞きしたいのは下記の二点です。 ・既読未読判定の実装方法 ・最終読み込み時間をデータベースに送信する方法 どのようなやり方をすれば、実装することができるでしょうか?

    • ベストアンサー
    • PHP
このQ&Aのポイント
  • Brother MFC J738Dで特定のパソコンからの印刷ができなくなりました。印刷エラーの表示が出てキューがエラー状態で止まる状態です。
  • 複数のルーターがあるが、別のパソコンからは印刷できる状態で、家人が設定を変えた可能性があります。
  • Windows10を使用し、無線LANで接続しています。電話回線はひかり回線です。
回答を見る