• ベストアンサー

MySQLデータ呼出し後の日付の整形(PHP)

MySQLのDATE型のカラムに2014-03-07 という日付が入っています。 これをPHP echo で呼び出すと、当然ですが2014-03-07と表示されます。 これを03-07 と表示したいのですが、どのような方法がありますでしょうか? よろしくお願いいたします。

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

  • ベストアンサー
noname#244856
noname#244856
回答No.4

既に補足回答がついていますがバッククォートとシングルクォート/ダブルクォートはちゃんと使い分けてください。 バッククォートとは? http://php1st.com/1184/

tajix14
質問者

お礼

有難うございます。お蔭様でできました!! 本当に有難うございました。

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

その他の回答 (4)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.5

よけいなお世話だと思いますが・・・ MySQLから渡すデータが「03-07」だと、「2014-03-07」と「2013-03-07」など 年が違うデータが競合します。 可能な限り渡す段階ではYYYY-MM-DDの形でおこない、PHP側で加工する方がよいと思います。 またPHP側で「03-07」とデータを持った時、感覚的に日付データだと認識しづらい フォーマットになっています。 せめて「03/07」にするなど、工夫が必要かもしれません

tajix14
質問者

お礼

有難うございます。 はい、ここで問い合わせているSQL文はPHP内に記載します。 createdateカラムにある「2014-03-07」の文字をここで作ったPHPで「03-07」という形に読み出すようにしています。 ご指導有難うございました。

全文を見る
すると、全ての回答が全文表示されます。
  • agunuz
  • ベストアンサー率65% (288/438)
回答No.3

>SELECT name,DATE_FORMAT('create_date', '%m-%d') AS create FROM data 'create_date'という文字列リテラルをdate_formatで書式化するのは無理です。date_formatの第一引数は日付形式のリテラルもしくは「列名」でないといけません。 SELECT name,DATE_FORMAT(create_date, '%m-%d') AS create FROM data もしくは(バッククォートで括って) SELECT name,DATE_FORMAT(`create_date`, '%m-%d') AS create FROM data ですよね?

tajix14
質問者

お礼

有難うございます。お蔭様でできました!! 本当に有難うございました。

全文を見る
すると、全ての回答が全文表示されます。
noname#244856
noname#244856
回答No.2

訂正 SELECT DATE_FORMAT(`カラム名`, '%m-%d') AS `取り出したい名前`;

tajix14
質問者

補足

いつもご助言を頂き有難うございます。 SELECT DATE_FORMAT('1997-10-04', '%m-%d'); で、月、日が表示されることを確認しました。 しかしながら、下記のようなSQL文にすると、nameは出てきますがcreateはNULLになってしまいます。 どこがいけないのかご助言頂けましたら幸いです。 大変ご迷惑をお掛けいたしますがよろしくお願いいたします。 SELECT name,DATE_FORMAT('create_date', '%m-%d') AS create FROM data SELECT name,(SELECT DATE_FORMAT('create_date', '%m-%d')) AS create FROM data

全文を見る
すると、全ての回答が全文表示されます。
noname#244856
noname#244856
回答No.1

MySQLマニュアル - 日付と時刻関数 http://dev.mysql.com/doc/refman/4.1/ja/date-and-time-functions.html SELECT DATE_FORMAT(`カラム名`, '%m, %d') AS `取り出したい名前`;

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

関連するQ&A

  • PHPで指定した日付の1ケ月前表示

    MySQLにある日付を拾ってきて表示しています。 <?php echo $row_target_date['ap_date']; ?> 上記のPHPでは、MySQLのテープルのap_dateカラムにある日付を拾ってきて表示するようにしています。 この1ケ月前を表示したいと考えています。 <?php echo "1月前:" . date("Y/m/d",strtotime("-1 month" ,strtotime("echo $row_target_date['ap_date']"))) . "<BR>"; ?> では表示できませんでした。 表示方法についてご指導いただきたくお願い致します。

    • ベストアンサー
    • PHP
  • MySQLの日付データについて

    PHPでMySQLから日付データを表示しようとしているのですが、日付フィールドの値をvarcharにしてしまいました。 このような状況下での質問なのですが、varcharフィールドに2006年1月1日と2006年2月1日と2006年11月1日がある場合、PHPで日付データを表示するとこのような順番で表示されてしまいます。 2006年1月1日 2006年11月1日 2006年2月1日 下記のようなカレンダー順の表示にするにはどのような方法があるでしょうか? 2006年1月1日 2006年2月1日 2006年11月1日 また、下記の質問と回答を拝見したのですが、日付データはタイムスタンプで処理するのが一般的なのでしょうか? http://oshiete1.goo.ne.jp/qa1396724.html その場合、フィールドタイプをDATEにしておいて、PHPからMySQLに書き込む際はどのような形式が正しいのでしょうか? 2006/1/1のまま書き込んでも自動的にタイムスタンプに変換してくれるのでしょうか。 最後に私のような初心者がMySQLを勉強する際にお勧めの書籍やウェブサイトなどありましたら是非教えて頂けると幸いです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPでのMYSQL接続のデータ表示

    PHPのバージョンは4.2.3です。 index.php という一覧表示画面から 一意なKey文字列を受け取りそのデータに合致する データの詳細を表示する画面です。 実データ部分が表示されず困っています。 実行時のPHPのエラーも出力されないので いまいちどこが悪いのかわかりません アドバイスよろしくお願いします。 <?php require_once( "common.php" ); require_once( "const.php" ); if(! $conn = mysql_connect( 'ホスト名','ユーザー名','PASS')){ die( 'MYSQL接続失敗'); } $sql = ""; $sql .= "select * from LIVE "; $sql .= "ORDER BY Date DESC "; $sql .= "WHERE ID=".$_REQUEST[ "KEY" ]; echo $sql; mysql_select_db("DB名",$conn); $rs = mysql_query($sql, $conn); $DATE=$rs['DATE']; $TITLE=$rs['TITLE']; $PLACE=$rs['PLACE']; $ARTIST=$rs['ARTIST']; echo $DATE; echo $TITLE; echo $PLACE; echo $ARTIST; //$rec = mysql_fetch_array( $rs, MYSQL_ASSOC ); ?> <HTML> <HEAD><TITLE>ライブ予定</TITLE></HEAD> <BODY><H1 ALIGN="CENTER">ライブ予定詳細</H1> <A HREF="./">戻る</A> <TABLE BORDER="1" ALIGN="CENTER" WIDTH="100%"> <TR><TD BGCOLOR="#FFFFCC">日付</TD> <TD><?php HESC($rec['DATE']) ?></TD></TR> <TR><TD BGCOLOR="#FFFFCC">タイトル</TD> <TD><?php HESC($rec['TITLE']) ?></TD></TR> <TR><TD BGCOLOR="#FFFFCC">場所</TD> <TD><?php HESC($rec['PLACE']) ?></TD></TR> <TR><TD BGCOLOR="#FFFFCC">アーティスト</TD> <TD><?php HESC($rec['ARTIST']) ?></TD></TR> <TR><TD BGCOLOR="#FFFFCC">本文</TD> <TD></TD></TR> </TABLE> </BODY></HTML>

    • ベストアンサー
    • PHP
  • PHPでの日付について

    PHPとPostgreSQLを利用しています。 日付を取得して、現在の日付と比べて7日以内であれば、指定の文言を表示して、7日以上であれば表示しないようにしたいです。現時点では以下のように記述しています。 $today = date(Y-m-d); if($today - $update_day <= 7) { echo "表示"; } else { echo "非表示"; } ちなみに $todayも$update_dayも形式は2005-09-18のような形です。 ご教授願います。

    • ベストアンサー
    • PHP
  • 日付をPHPに渡す

    下記のようなPHPとHTMLがあります。 HTMLに日付を指定できるフォームを設置しており、ここに入力されたデータを、 PHPの日付の部分に渡せるようにしたいと思っております。 <?PHP //言語設定、内部エンコーディングを指定する mb_language("japanese"); mb_internal_encoding("UTF-8"); //ライブラリ include('googleanalytics.class.php'); //アカウント $ga = new GoogleAnalytics('ID','PW'); $ga->setProfile('ga:GAID'); //日付指定 $today1 = mktime(0, 0, 0, date("m"), date("d")-30, date("Y")); $today2 = mktime(0, 0, 0, date("m"), date("d")-30, date("Y")); $g1 = date("Y-m-d", $today1); $g2 = date("Y-m-d", $today2); $ga->setDateRange($g2,$g1); //読み込み $report = $ga->getReport( array('dimensions'=>urlencode('ga:keyword'), 'metrics'=>urlencode('ga:visits,ga:pageviews'), 'sort'=>'-ga:pageviews' ) ); //表示 echo "<html><head><meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>"; echo "</head><body>"; echo "キーワード:セッション数:ページビュー数<BR>- - - - - <BR>"; foreach( $report as $d => $m ){ echo $d; foreach( $m as $a => $b ){ echo " : ".$b; } echo "<BR>"; } echo "</body></html>"; ?> <html> <br> ■ 期間 <form action="gaapisample.php" method="post"><label>日付(type="date1"):<input type="date" name="date"></label> <br> <form action="gaapisample.php" method="post"><label>日付(type="date2"):<input type="date" name="date"></label> <input type="submit" value="期間設定"></form> </html>

    • 締切済み
    • PHP
  • PHPサイトからMySQL内のデータを知る方法

    質問失礼いたします。 MySQLにあるデータベースをPHPサイトに表示しています。 PHPでは、 【datab.php】で、データベースへ接続し $link = mysql_connect('localhost', 'user', 'pass'); 【hyouji.php】にて、データを表示しています require_once("datab.php"); //SQL文 mysql_close($link); //データ配列 MySQL内のカラムには name , add , memo の3つがあり、PHPに表示させているのは name , add のみです。 しかし、どうやら memo にある内容が閲覧している人にわかったらしいのですが、 どこを見ても、memoの内容は表示されていません。 すみません、うまく言えないのですが… 上記にある【datab.php】の接続方法では、 MySQL内のデータがバレてしまうのでしょうか…? 原因も分からないのですが、何がお知恵をいただけたらと思います。 宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • MySQLの日付データとPHPの日付データの比較

    どうもこんにちは。現在PHPでブログを作成して運営しているのですが、最新の記事に、一定期間だけ「NEW」といった表示をする方法がわからなくて困っています。ここの過去ログにも類似の投稿はあったのですが、タイトルのようにデータベースの日付データ型とPHPの日付データ型を比較する方法がわかりません。どなたか、アドバイスをいただけないでしょうか。よろしくお願いします。

    • ベストアンサー
    • PHP
  • mysqlとphpでのデータ表示について

    この度、 mysqlとphpで野球チームのデータ管理サイトを作成しようと思っています。(javascriptも使用予定) お恥ずかしいですが当方の知識としてはmysql+phpの入門書を2週間読んだ段階です。 そこで質問です。 ---------------------------------------------- 例えば、打率を表示したい場合、 計算式は 安打数/打数 ですが、 mysqlで、a(打数)、b(安打数)、c(打率) というカラムがあった場合、 cには (1)mysql上で計算値をinsertするのでしょうか? (2)それともphpスクリプトで計算値をHTMLに吐き出すのでしょうか? ご教授願います。 できれば簡単でいいので手法を教えていただけたらと思います。

    • ベストアンサー
    • MySQL
  • PHPとMySQLを学習しているのですが・・・。

    ----------------- apache2.0.59 php5.24 MySQL5.0.45 ----------------- <?php $my_con = mysql_connect("localhost" , "hamu" , 'hamutamago'); if($my_con == false){ echo "MySQLに接続できました"; }else{ echo "MySQLに接続できました"; }; if(mysql_select_db("sample_sql")){ echo "データベース接続できました"; }else{ echo "データベース接続できませんでした"; } ?> PHPでMySQLと連動させる勉強をいましているのですが、PHPからMySQLへアクセスする事はできたのですが、自分で作成したデータベースへアクセすることができません。最初からMySQLに入っていたinformation_schemaというデータベース(?)にはアクセスできるみたいなのですが、自分で策瀬下データベースにはアクセスが出来ないようです。 なにかご存じのかたがいらっしゃいましたらよろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPとMySQLで作ったプログラムについて

    PHP(Ver.5.2.5)とMySQL(Ver.5.0.45)で住所録プログラムを作りました。住所は登録できるのですが、PHPで住所録を表示すると新規登録分が表示されません。住所録登録プログラムではmysql_close文でDBをちゃんと終了しています。コマンドラインクライアントのselect*from文では新規登録分が1回でちゃんと表示されることと、住所録表示プログラムでブラウザーの更新ボタンをクリックすると新規登録分が表示されることから、住所録表示プログラムがおかしいのではないかと思い、いろいろ試したのですが、変わりません。住所録表示プログラムのスクリプトの一部を以下に示します。 <?php mysql_connect('localhost','root'); *rootパスワードは設定していません。 mysql_select_db('lesson'); $sql = 'select * from jushoroku'; $result = mysql_query($sql); $rows = mysql_num_rows($result); if($rows == 0){ echo "<p>該当データがありません。</p>"; }else{ while($row = mysql_fetch_array($result)){ echo "<p>"; echo $row["renban"]; echo ・・・ } } ?> 新規登録分を1回で表示するにはどこを直せば良いのでしょうか。どなたか教えてください。

    • ベストアンサー
    • PHP