質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

2回答

3251閲覧

PHP・掲示板の投稿日付順のソートについて

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/10/03 09:35

編集2018/10/05 01:59

前提・実現したいこと

■PHPで掲示板を作成しており、投稿日付を付けソートができるようにしたいと思っています。
投稿日付順にソートするにはどのように記載すればよろしいでしょうか。ご教授をお願いします。

該当のソースコード

php

1<?php 2$err_msg1 = ""; 3$err_msg2 = ""; 4$message =""; 5$name = (isset($_POST["name"]) === true ) ?$_POST["name"]: ""; 6$comment = ( isset( $_POST["comment"] ) === true ) ? trim($_POST["comment"]) : ""; 7if(isset($_POST["send"]) === true){ 8 if($name === "") $err_msg1 = "名前を入力してください"; 9 if($comment === "") $err_msg2 = "コメントを入力してください"; 10 if( $err_msg1 === "" && $err_msg2 ==="" ){ 11 $fp = fopen( "data.txt" ,"a" ); 12 fwrite( $fp , $name."\t".$comment."\n"); 13 $message ="書き込みに成功しました。"; 14 } 15} 16$fp = fopen("data.txt","r"); 17$dataArr= array(); 18while($res = fgets( $fp)){ 19 $tmp = explode("\t",$res); 20 $arr = array( 21 "name"=>$tmp[0], 22 "comment"=>$tmp[1] 23 ); 24 $dataArr[]= $arr; 25} 26?> 27<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 28<html lang="ja"> 29 <head> 30 <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 31 <title>掲示板</title> 32 </head> 33 <body> 34 <?php echo $message; ?> 35 <form method="post" action=""> 36 名前:<input type="text" name="name" value="<?php echo $name; ?>" > 37 <?php echo $err_msg1; ?><br> 38 コメント:<textarea name="comment" rows="4" cols="40"><?php echo $comment; ?></textarea> 39 <?php echo $err_msg2; ?><br> 40<br> 41 <input type="submit" name="send" value="クリック" > 42 </form> 43 <dl> 44 <?php foreach( $dataArr as $data ):?> 45 <p><span><?php echo $data["name"]; ?></span>:<span><?php echo $data["comment"]; ?></span></p> 46 <?php endforeach;?> 47 </dl> 48 </body> 49</html> 50<?php echo phpinfo(); ?>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/10/03 09:46

現在のコードにおける問題は何でしょうか。調べても何もヒントは得られませんでしたか?どのように調べたかも記載しておくと、調べ方のヒントもアドバイスもらえるかもしれません(質問は編集できるので適宜追記してください)
guest

回答2

0

投稿データを保存すると思しきファイルにnameとcommentしか書いてないのにどうやって過去の投稿の日付でソートするのですか?

投稿2018/10/03 10:35

papinianus

総合スコア12705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

papinianus

2018/10/03 10:36

phpってファイルクローズしなくていいんでしたっけ?
m.ts10806

2018/10/03 11:39

問題は出ないはずですが、お作法としてはfopenしたらfcloseを対で行うようにしたほうがいいですね。 処理が最後まで行く間は開きっぱなしになるということにはなります。
papinianus

2018/10/04 00:11

ありがとうございます。 あまりファイル書き込みしないので基礎がおろそかでした
guest

0

配列に受け取ってソートするだけだと思いますが

投稿2018/10/03 09:41

yambejp

総合スコア114843

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問