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

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

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

dateは、date型や日付に関する関数や処理についてのタグです

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

PHP

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

Q&A

解決済

1回答

3323閲覧

phpmyadminのdate型をPHPでフォーマット(yy年mm月dd日)し表示したいです。

退会済みユーザー

退会済みユーザー

総合スコア0

date

dateは、date型や日付に関する関数や処理についてのタグです

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

PHP

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

0グッド

0クリップ

投稿2016/12/01 05:27

PHPで新着情報のカレンダーを表示させたく現在作成しています。
phpmyadminで情報を管理し問題なく表示することはできました。

しかしdate型の情報が2016-12-01と表示されるので、
2016年12月01日のようにしたいなと考えています。

SELECT の date が日程が入っているdate型なのですが、
この date をDATE_FORMATで試してみたのですが、
Undefined index: date in ~ on line 370 と出てしまいます。

<?php require('dbconnect.php'); $recordSet = mysqli_query($db, " SELECT DATE_FORMAT('date','%Y年%c月%d日'), title, contents FROM information WHERE 1 ORDER BY hold DESC LIMIT 14 "); while($data = mysqli_fetch_assoc($recordSet)) { echo <<< EOM <li> {$data['date']} 更新<br /> {$data['title']}<br /> <article class="contents">{$data['contents']}</article> </li> EOM; } ?>

PHPやphpmyadmin等の勉強をスタートしたばかりで勉強不足は十分承知しています。
ご教授お願いできればと存じます。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2016/12/01 05:30

何かテンプレートエンジンを使っています?
退会済みユーザー

退会済みユーザー

2016/12/01 05:32

テンプレートエンジンは使用していません!
guest

回答1

0

ベストアンサー

php

1<?php 2 3require('dbconnect.php'); 4$recordSet = mysqli_query($db, " 5 6SELECT 7DATE_FORMAT('date','%Y年%c月%d日') as `date`, 8title, 9contents 10 11FROM 12information 13 14WHERE 1 15 16ORDER BY hold DESC 17 18LIMIT 14 19 20"); 21 22while ($data = mysqli_fetch_assoc($recordSet)) { 23 echo <<< EOM 24<li> 25{$data['date']} 更新<br /> 26{$data['title']}<br /> 27<article class="contents">{$data['contents']}</article> 28</li> 29 30EOM; 31} 32

投稿2016/12/01 05:48

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2016/12/01 06:12

ありがとうございます!無事に年月日で表示されました! しかし、西暦が表示されず、またechoの{$data['date']}個所ではなく、 {$data['title']}に表示されるのは何故でしょうか? 質問ばかりで申し訳ございません。。
退会済みユーザー

退会済みユーザー

2016/12/01 06:29

提示された内容からは判断できません。
退会済みユーザー

退会済みユーザー

2016/12/01 07:10

左様ですか。 ちなみにどの点をお教えすれば原因を確認いただけますか?
退会済みユーザー

退会済みユーザー

2016/12/01 07:12

ご自身が判断つかないのでしたら、ファイル全体ですね。
退会済みユーザー

退会済みユーザー

2016/12/01 08:05

<?php require('dbconnect.php'); $recordSet = mysqli_query($db, "SELECT DATE_FORMAT('date','%Y%c%d') as 'date' FROM information WHERE 1 ORDER BY hold DESC LIMIT 5"); while($data = mysqli_fetch_assoc($recordSet)) { echo <<< EOM 【{$data['date']}】更新<br /> EOM; } ?> 上記だけで不要な部分だけ取り除いて試してみたのですが、ダメみたいでした。
退会済みユーザー

退会済みユーザー

2016/12/01 08:06

と言うことは、そもそもデータベースに書き込まれている値に問題があるんじゃないですか?
退会済みユーザー

退会済みユーザー

2016/12/01 08:38

解決しました!ありがとうございます! DATE_FORMAT('date','%Y年%c月%d日') as `date` ではなく、 DATE_FORMAT( date ,'%Y年%c月%d日') as date で表示しました! ご協力ありがとうございます!
退会済みユーザー

退会済みユーザー

2016/12/01 08:41

それ関係ないと思う
退会済みユーザー

退会済みユーザー

2016/12/01 09:00

やはり前者は表示されないですね
退会済みユーザー

退会済みユーザー

2016/12/01 09:02

'date', ← シングルクォーテーション使ってますね。フィールド名はシングルクォーテーションじゃなくてバッククォートです。date は関数にも存在するので、フィールド名はバッククォートで囲む癖つけるといい。
退会済みユーザー

退会済みユーザー

2016/12/01 09:13

なるほど! DATE_FORMAT(`upload`,'%Y年%c月%d日') as `upload` で表示されました! あらためてありがとうございます! お時間割いて頂いてありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問