よろしくお願い申し上げます。

実は、指定した期間だけ表示したいと考えております。
下記のようにすれば、指定した日、1日の表示はできます。

もし3日間連続で表示したい場合、確か($today == '1223'|$today == '1224'|$today == '1225')とすれば良かったと思うのですが、この指定した期間が1ヶ月(30日)あったら、30日分入力するというのは骨の折れる作業となります。

そこで、毎年4月1日~4月30日の間だけ同じ内容を表示させて、それ以外の期間は非表示となるような命令にしたいと思っています。プログラムなのでそう言う方法はあるかと思いますが、いくら探しても探し方が悪いのか見つかりませんでした。

お手数をおかけしますが何卒よろしくお願いします。


$today= date("md"); //月日だけを求める
if ($today == '0401'){
echo 'あいうえお';
}
elseif ($today == '0402') {
echo 'あいうえお';
}
elseif ($today == '0403') {
echo 'あいうえお';
}
・・・

このQ&Aに関連する最新のQ&A

PHP 時刻」に関するQ&A: PHP mysql 時刻表示方法

A 回答 (4件)

>1ヶ月もなのですが、基本的には◯月◯日~◯月◯日までと自由に期限を決めたいと思っています。


>その決めた期間中のみ表示するといったようなことです

でしたら日付を比較ができる Unix タイムスタンプに変換して
以下のようにしてはいかがでしょうか


$now = time();

$start = mktime( 0, 0, 0, 4, 1,2011); // 2011年4月1日 0時0分0秒から
$end = mktime( 0, 0, 0, 5, 1,2011); // 2011年5月1日 0時0分0秒まで

if($now >= $start && $now < $end){
echo 'あいうえお';
}


time
(PHP 4, PHP 5)
time — 現在の Unix タイムスタンプを返す
http://jp.php.net/manual/ja/function.time.php

mktime
(PHP 4, PHP 5)
mktime — 日付を Unix のタイムスタンプとして取得する
http://jp.php.net/manual/ja/function.mktime.php
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。早々試し、できました。
本当にどうもありがとうございました。
その他のご回答頂いた皆さんもありがとうございました。ゴールを迎えられました。


今回は、毎年くり替えしたいので下記のように修正しました。

<?php
$now = time();

$start = mktime( 0, 0, 0, 4, 25); /*4月25日から始まり*/
$end = mktime( 0, 0, 0, 4, 27); /*4月26日で終了する*/

if($now >= $start && $now < $end){
echo 'abcd';
}
?>

お礼日時:2011/04/26 17:53

1ヶ月分なら、月だけを見れば良い。

それと文字の比較部分も直した方がいい。
$month= date("m");
if ($month === '04'){
echo 'あいうえお';
}

この回答への補足

ご回答ありがとうございます。
質問の文章が悪かったようです。分かりにくい文章でお手数をおかけしました。

1ヶ月もなのですが、基本的には◯月◯日~◯月◯日までと自由に期限を決めたいと思っています。
その決めた期間中のみ表示するといったようなことです。

補足日時:2011/04/24 09:00
    • good
    • 0
この回答へのお礼

どうもありがとうございました。

お礼日時:2011/04/26 18:12

とりあえず変更箇所が少ないものを



$tomonth= date("m"); //月だけを求める
if ($tomonth == '04'){
echo 'あいうえお';
}



date
(PHP 4, PHP 5)
date — ローカルの日付/時刻を書式化する
http://jp.php.net/manual/ja/function.date.php

この回答への補足

ご回答ありがとうございます。
質問の文章が悪かったようです。分かりにくい文章でお手数をおかけしました。

1ヶ月もなのですが、基本的には◯月◯日~◯月◯日までと自由に期限を決めたいと思っています。
その決めた期間中のみ表示するといったようなことです。

補足日時:2011/04/24 09:00
    • good
    • 0
この回答へのお礼

どうもありがとうございました。

お礼日時:2011/04/26 18:11

<



>
で大小判定すればいいと思うけど。

この回答への補足

比較演算子 や 理演算子 あたりを使えば出来るんですよね。

「月日を調べて、それが指定した期間内であれば表示。それ以外であれば非表示。」といった命令になるとおもうのですが、そのソースが書けません。


まず、指定する期間を書けばいいのでしょうか。
$day1 =
$day2 =
$today= date("md");
とした場合、指定日の表現がわかりません。
4月1日を指定したい場合、1April ではなさそうですよね。

次に
if ($daiy1 < $today || $day2 > $today){
echo 'あいうえお';
}

みたいな感じなんでしょうか。
無茶苦茶かもしれませんが、わたくしの頑張った限界です。

補足日時:2011/04/24 09:41
    • good
    • 0
この回答へのお礼

どうもありがとうございました。

お礼日時:2011/04/26 18:12

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q賃金台帳の計算期間について

お世話になります。

賃金計算期間の書き方について教えて下さい。給与締日当月末日であり、支給日が当月25日の場合に賃金計算期間はどのように記載するればよいのでしょうか?
例)
計算期間:4/1~4/30
給与支給日:4/25

上記の場合に4/26~4/30については実績がないのに前払いすることになりますが、賃金台帳の計算期間は4/1~4/30
と記載して問題ないのでしょうか?
(今回のケースの場合、時間外賃金の計算期間と基本給の計算期間は同一とします)

困っています。どうぞ宜しくお願いします。

以上

Aベストアンサー

賃金計算の期間については、ご質問の賃金体系が基本給が月額で定められていれば、問題ないです。
月額による給与は、1月当たりを根拠にしていますから、日給・時給と違い計算期間がご質問のように、将来部分を含んでいても問題ありません。
時間外手当や通勤手当などで1日あたりの金額を加算して計算するような場合については、1月遅れで支給するなどの方法でも問題がありません。
ただし、労働基準法により、賃金の計算根拠などを示す必がありますので、給与支給者に対する説明を怠らないようすることが必要です。
また、決算期などにより時間外手当など1月遅れや、賃金の計算期間を毎月末日とし、時間外手当などは20日で締めるなどの場合は、決算の関係における処理を忘れずに行うことが必要と思われます。
ちなみに、私の職場では、賃金の計算は1日から末日を根拠にしており、時間外手当などは前の月の分を計算して翌月に支給しています。3月決算と言うこともあり、3月の給与では、2月分・3月分の時間外手当を支給することにしています。当然4月支給の給与では時間外手当が無くなることになります。

QPHP(.php)及びJavascrpit(.js)等のファイル名は、数字だけでも可能ですか?

PHP(.php)及びJavascrpit(.js)等のプログラムファイルのファイル名は、数字だけでも可能ですか?
例:1234. php
例:1234.js
やはり、「abc123.php」又は「abc123.js」のようにアルファベットで始める必要があるのでしょうか?

参考サイト等あれば、教えて下さい。
よろしくお願いします。

Aベストアンサー

数字だけでも大丈夫ですよ。
変数じゃなくて、ただのファイル名ですから、
マルチバイト文字が使われていなければ、特に不備は起こらない

Q法人税別表6(1)の利子配当等の計算基礎期間について

こんにちは。
5年くらい前に出資をしているのですが、これまで配当金をもらったことがなく、
今回(満期?)解約するにあたって、初めて配当金をもらいました。
計算期間は出資した日から今まで持っていた日までだそうです。
所有期間は70ヶ月ほどになるのですが、別表6(1)の9利子配当等の計算基礎期間の月数は70月、10所有期間も70月となるのでしょうか。
それとも当期の所有期間で考えて、(当期の解約するまでの期間8ヶ月)
9→8月 10→8月 となるのでしょうか。
どちらも出る結果は同じなのでそんなに悩むことではないのかもしれないですが、よろしくお願いします。

Aベストアンサー

出資に(満期?)解約という考えはありません。もう一度よく関係書類を見直してみてください。配当ならその配当の計算期間がどこかに記載してあるはずです。まあ結果は一緒なのでそこまですることもないですが。

Qまとめ:DBに接続し、値を表示・追加・更新・削除 // //     追加 → 18add.php(入力) → 18addconf.php(確認) → 18

PHPでの開発をしたいのですが、何から手をつけていいのかわからない状態です。

どんなふうに作ればいいのか全くわかりません。

まとめ:DBに接続し、値を表示・追加・更新・削除
//
//     追加 → 18add.php(入力) → 18addconf.php(確認) → 18addcomp.php(実行) → 18addcomp.html(完了表示)
// 更新 → 18edit.php(入力) → 18editconf.php(確認) → 18editcomp.php(実行) → 18editcomp.html(完了表示)
//     削除 → 18delconf.php(確認) → 18delcomp.php(実行) → 18delcomp.html(完了表示)

風に作るよう指示はいただいているのですが、全く何のことかわかりません。

助けてください。

Aベストアンサー

なるほど、ある程度はわかるという前提ですね?

フローチャートを書くとイメージしやすいかもしれません。
WEBアプリの場合、入力、確認、登録(実行)、完了は処理をわける
必要性が高いです。そこはわかりますね?
つまり入力後いきなり登録ですと、必要なデータが抜ける可能性が
あるからです。(そのリスクを理解した上で省略することは可能ですが)
また登録後に完了に移るのは、リロードによる多重登録を防ぐ
意味合いだと思います。

PHPの処理としては、入力画面は普通にHTMLレベルの処理です。
確認画面では必要であるデータをいわゆるバリデートします。
この場合セッションを使うと処理が楽になります。
確認でエラーを出さなければ登録へ進むボタンを表示します。
登録画面では、確認からセッションで引き継いだデータを
再度バリデートします。データに問題がなければ登録を実行し
完了画面へはheaderで飛ばすとよいでしょう。
フロー的には新規登録も変更も削除もおなじです。

またデータをどのように格納するかなど設計する必要があり
これはSQLなどの知識と技術が別途必要になります。

なるほど、ある程度はわかるという前提ですね?

フローチャートを書くとイメージしやすいかもしれません。
WEBアプリの場合、入力、確認、登録(実行)、完了は処理をわける
必要性が高いです。そこはわかりますね?
つまり入力後いきなり登録ですと、必要なデータが抜ける可能性が
あるからです。(そのリスクを理解した上で省略することは可能ですが)
また登録後に完了に移るのは、リロードによる多重登録を防ぐ
意味合いだと思います。

PHPの処理としては、入力画面は普通にHTMLレベルの処理です...続きを読む

QExcel  期間を算出したい 計算式 教えてください!

こんにちは。Excelで次の計算式を作りたいです。

(1)期間を算出する計算式
    A      B
1 1990/3/30  

セル番号A1;入塾年月日
セル番号B2;入塾から現在(2006/5/30)までの年数(期間。何年何ヶ月何日あるのか?)を表示されるようにしたい。

Aベストアンサー

こんばんは。
わたしもこれをワークシート関数で求めようとして挫折しました。
ワークシート関数にも、Datedifという関数があるのですが、末日計算の端日数処理でバグがあり、信頼に欠け、使えませんでした。
しかたなく、一般公開されているサンプルコードで下記のようなVBAでユーザー定義関数を用いるしかありませんでした。

使用方法
下記のマクロのコードを標準モジュールに貼り付け、ワークシートのセルに

開始日A1
終了日B1 の場合

=ktDATEDIF(A1,B1,"YMD",FALSE)

としてみてください。
最後の引数は初日算入ならTRUE, 初日不算入ならFALSEです。 (民法規定は[初日 不算入]が基本です)


『開始日』『終了日』に対し、民法規定に従って【y年mヶ月d日】を求めるマクロ。


Public Function ktDATEDIF(ByVal StartDate As Date, _
ByVal EndDate As Date, _
ByVal Interval As String, _
ByVal FirstDay As Boolean) As Variant
' [Interval]
' YMD:"yyyy年mヶ月d日"で編集(文字列)
' Y:期間内満年数, M:期間内満総月数
' YM:端数の月数, MD:端数の日数
' [FirstDay]
' 初日算入=True, 初日不算入=False (民法規定は[初日 不算入]が基本)

Dim dtmFirstDate As Date '起算日
Dim dtmLastDate As Date '満了日
Dim wkDate As Date
Dim intMonth As Integer '総月数
Dim intYear As Integer
Dim intMonth_in_Year As Integer '年未満の月数
Dim intDay_in_Month As Integer '月未満の日数

If (StartDate > EndDate) Then
ktDATEDIF = "Error"
Exit Function
End If

If (FirstDay = False) Then
dtmFirstDate = StartDate + 1 '民法規定は[初日 不算入]が基本
Else
dtmFirstDate = StartDate 'True:[初日算入]指定
End If
dtmLastDate = EndDate

'注)[DateDiff関数]自体は初日不算入で処理している
If (Day(dtmFirstDate) = 1) Then
'起算日が1日(開始日が月末日)の場合、月の大小閏に係わりなく
'[月末日]までで『丸Nヶ月』
'月の大小閏に影響されないように「月末日~終了日」を1日分シフトして
'「1日~(終了日+1)」で求める。
intMonth = DateDiff("m", dtmFirstDate, (dtmLastDate + 1))
intYear = intMonth \ 12
intMonth_in_Year = intMonth Mod 12
If (Day(dtmLastDate + 1) = 1) Then '満了日(終了日)が月末か?
intDay_in_Month = 0
Else
intDay_in_Month = Day(dtmLastDate)
End If
Else
'起算日≠1日の場合、「起算日の応答日前日」までで『丸Nヶ月』
intMonth = DateDiff("m", (dtmFirstDate - 1), dtmLastDate)
wkDate = DateAdd("m", intMonth, (dtmFirstDate - 1))
If (wkDate > dtmLastDate) Then
intMonth = intMonth - 1
wkDate = DateAdd("m", intMonth, (dtmFirstDate - 1))
End If
intDay_in_Month = DateDiff("d", wkDate, dtmLastDate)
intYear = intMonth \ 12
intMonth_in_Year = intMonth Mod 12
End If

Select Case UCase(Interval)
Case "YMD"
ktDATEDIF = intYear & "年" & intMonth_in_Year & "ヶ月" & intDay_in_Month & "日"
Case "Y"
ktDATEDIF = intYear
Case "M"
ktDATEDIF = intMonth
Case "YM"
ktDATEDIF = intMonth_in_Year
Case "MD"
ktDATEDIF = intDay_in_Month
Case Else
ktDATEDIF = "Error"
End Select
End Function

こんばんは。
わたしもこれをワークシート関数で求めようとして挫折しました。
ワークシート関数にも、Datedifという関数があるのですが、末日計算の端日数処理でバグがあり、信頼に欠け、使えませんでした。
しかたなく、一般公開されているサンプルコードで下記のようなVBAでユーザー定義関数を用いるしかありませんでした。

使用方法
下記のマクロのコードを標準モジュールに貼り付け、ワークシートのセルに

開始日A1
終了日B1 の場合

=ktDATEDIF(A1,B1,"YMD",FALSE)

としてみてください。
...続きを読む

QPHPで、CSVファイルを、指定した行数だけ出力するには?

同じようなトピックは、いくつかありましたが、あと一歩、わからないので質問させてください。

CSVファイルをPHPを使って読み込み、出力させる場合で、

CSVファイル data.csv
---------------------------
データ1,説明,詳細
データ2,説明,詳細
データ3,説明,詳細
データ4,説明,詳細
データ5,説明,詳細
  …
データ100,説明,詳細
---------------------------
上記のように100行あったとします。
この時、
PHPファイルを、
---------------------------
<?php

$fp = fopen("data.csv", "r");

while ($data = fgetcsv($fp, 10000)) {
$num = count ($data);
print <<<EOD
$data[0]・$data[1]・$data[2]<br>
EOD;

}

fclose ($fp)
?>
---------------------------

と書くと、100行目まで普通に出力してしまいます。

もし、10行目までを出したい場合は、どう記述すればよいのでしょうか?
上記のPHPソースに少し書き加える形で解決できればと思うのですが・・・
色々試しましたが、私の力だけでは無理でした。

同じようなトピックは、いくつかありましたが、あと一歩、わからないので質問させてください。

CSVファイルをPHPを使って読み込み、出力させる場合で、

CSVファイル data.csv
---------------------------
データ1,説明,詳細
データ2,説明,詳細
データ3,説明,詳細
データ4,説明,詳細
データ5,説明,詳細
  …
データ100,説明,詳細
---------------------------
上記のように100行あったとします。
この時、
PHPファイルを、
---------------------------
<?php

$fp = fopen("data.csv", "...続きを読む

Aベストアンサー

こんにちは。

考え方はあってます。

>$count = $count++ ;


$count++;
または
$count = $count + 1;
にすればwhileを抜けてくれると思います。

現状で$countを表示してみるとわかりますが、$countは加算されていません。

Qエクセルでローン完済までの期間を計算したい

エクセルでローン完済までの期間を計算する関数を教えてください。
入力項目
・金利
・借入金
・毎月払い
出力項目
・返済までの回数あるいは期間

Aベストアンサー

エクセル財務関数のNPER関数で計算します。詳しくは関数ヘルプを見ていただくとして

=NPER(利率,毎月支払額,現存価値,将来価値,[支払い方法])

利率:年利8%で毎月返済なら 0.08/12 を指定
毎月支払い額:10万円/月ずつ返すなら -100000 のように負の値を指定
現存価値:今の借入金総額 10000000 のように正の数を指定
将来価値:0を指定
支払い方法は:期首払いか、期末払いかを指定する。省略したら期末払い。

関数の答えは返済回数(=月数)になります。
でも実際は変動金利だったり、ボーナス併用だったりするので、必ずしも正しい答えにはならないかもしれませんよ。

Aベストアンサー

XAMPでインストールしたことがないのですが。

スタートメニュー → プログラム → apache http server バージョン番号 → edit apache httpd.conf configuration file
で、httpd.confをメモ帳などテキストエディタで開いてください。

もし上記が分からなければ、httpd.confというファイルを検索して開いてみてください。

その中に、
LoadModule php4_module c:/php4/sapi/php4apache2.dll
AddType application/x-httpd-php .php
という2つの記述があるかどうか確認してみてください。

1つ目のc:/php/sapi/php4apache2.dll部分は、同名のファイルがある場所になります。
phpが5の場合は、c:/php/php5apache2.dllなど4の部分が5になっています。

もしこれらの記述がない場合はこれらを記述、先頭に#があるという場合は、#を削除して保存してください。

その後、apacheをリスタートしてください。

これでいけるとおもいます

XAMPでインストールしたことがないのですが。

スタートメニュー → プログラム → apache http server バージョン番号 → edit apache httpd.conf configuration file
で、httpd.confをメモ帳などテキストエディタで開いてください。

もし上記が分からなければ、httpd.confというファイルを検索して開いてみてください。

その中に、
LoadModule php4_module c:/php4/sapi/php4apache2.dll
AddType application/x-httpd-php .php
という2つの記述があるかどうか確認してみてください。

1つ目のc:/p...
続きを読む

Qこの度引っ越すにあたり16日引越し予定です。 契約書をみると、1ヶ月に満たない期間の賃料は日割り計算

この度引っ越すにあたり16日引越し予定です。
契約書をみると、1ヶ月に満たない期間の賃料は日割り計算とする。と書いてあるのですがこの場合賃料は日割り計算で返還されるのでしょうか?
お詳しい方、是非教えてください。
よろしくお願いします。

Aベストアンサー

退出の告知日が重要です。
別に、退出の告知期間が記載されていると思います。契約書の解約予告の項目を確認して下さい。
その期間が、たとえば1ヶ月前までに告知となっている場合で、告知日が2月15日であった場合は、
16日に引っ越した場合は、残りの14日分{通常は月を30日として計算)が返金されます。
また、告知日が、2月28日の場合は、3月末日までの賃料が発生することになります。

Q.shtml、.htmlだけでなく、.phpにもSSIを使用できるよう

.shtml、.htmlだけでなく、.phpにもSSIを使用できるように設定を
したのですが、サーバに負担は.htmlと同じぐらいと思ってもよろしいでしょうか?
(動作も正常に動いてることを確認しています。)

どなたか詳しい方教えてください。
よろしくお願いします。

Aベストアンサー

それをやる意味があるのでしょうか?
SSIはおそらくPerlで書いているのでしょうから
.phpが稼働しているなら、system()系の関数でperlスクリプトを
バックグラウンドで実行すればよいのでは?


人気Q&Aランキング

おすすめ情報