• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:if文データの別ファイル化について)

if文データの別ファイル化について

tabaの回答

  • ベストアンサー
  • taba
  • ベストアンサー率61% (349/567)
回答No.2

>日付をYYYYMMDD形式にして、$dateで送ります。 この部分ですか? 生年月日をHTMLからFORMで記入していただくわけでしょうか。でしたら、monthとdayのvalueを文字列で2桁にしておいて(02とか03ということですね)、単純につないでやれば大丈夫じゃないでしょうか。 $date = $year . $month . $day; うまく2桁で渡ってこないようでしたら、 $date = sprintf("%04d%02d%02d",$year,$month,$day); で書式を定義してやればいいと思います。

siritay
質問者

お礼

参考にさせていただきます。ご回答ありがとうございました。

関連するQ&A

  • if文の条件について

    2008年の09月30日までは「テスト」と表示し、それ以降はなにも表示しないようにしようと思い、以下のように作成してみました。 ---------------------------------------------------------- <?php $year = date('Y'); $month = date('m'); $day = date('d'); if($year == 2008 and $month == 09 and $day <= 30){ echo 'テスト';} ?> -------------------------------------------------------------- けれど、なにも表示されませんでした。 ためしに else{ echo 'hoge';} をつけ加えてみると、「hoge」と表示されました。 どうして「テスト」と表示されず、elseの「hoge」と表示されてしまうのでしょうか? ご教授のほど、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • ファイルメーカーのスクリプトで25日締めの請求データを作成していますが・・・

    毎度お世話になります。 ファイルメーカーVer4.0 OS=Win2000です。 毎月25日で締めて請求書を起こすために、締め日の翌日(26日)から締め日までのデータを検索して表示するスクリプトを作成しております。 「計算結果を貼り付け」で現在の日付から、表示させる締め日を貼り付けて、検索させようとしております。 見づらくて申し訳ございませんが、本日の日付を拾ったあと、下記の計算をさせようとしていますが、「関数のカンマの数が多すぎます」とエラーが出て困っています。 if(Month ( 本日 )=1, if(Day ( 本日 ) < 26, Year ( 本日 )-1 & "/" & Month ( 本日 )-2 &"/" & 26 & "..." & Year( 本日 )-1 & "/" & Month ( 本日 )-1 &"/" &25, Year ( 本日 )-1 & "/" & Month ( 本日 )-1 &"/" & 26 & "..." & Year( 本日 ) & "/" & Month ( 本日 ) &"/" &25, if(Month ( 本日 )=2, if(Day ( 本日 ) < 26, Year ( 本日 )-1 & "/" & Month ( 本日 )-2 & "/" & 26 & "..." & Year ( 本日 ) & "/" & Month ( 本日 )-1 & "/" & 25, Year ( 本日 ) & "/" & Month ( 本日 )-1 & "/" & 26 & "..." & Year ( 本日 ) & "/" & Month ( 本日 ) & "/" & 25, if(Day ( 本日 ) < 26, Year ( 本日 ) & "/" & Month ( 本日 )-2 & "/" & 26 & "..." & Year ( 本日 ) & "/" & Month ( 本日 )-1 & "/" & 25, Year ( 本日 ) & "/" & Month ( 本日 )-1 & "/" & 26 & "..." & Year ( 本日 ) & "/" & Month ( 本日 ) & "/" & 25))))) ※(本日)とはフィールド名で、スクリプトの最初に「現在の日付を貼り付ける」を入れてありますので、スクリプト起動時に当日の日付が入力されます。 要は、当日が25日までであれば、1月は前年の11月26~12月25日を表示し、 2月は前年の12月26~翌年の1月25日を表示し、3月から12月までは、当日が25日までは、前々月の26日~前月の25日迄を表示し、26日~末日までは前月の26日~当月の25日を表示させて、それを作業日のフィールドに貼り付けて検索すれば、直近の25日締めで表示されると考えました。 どこが違うのでしょうか?

  • プログラムの内容

    以下のプログラムは答えとして渡されたものなんですが、 コマンド引数を使ったプログラムの流れがよくわかりません。 簡単に解説してくれる方、いませんか? #include <stdio.h> int leapyear(int year){ if(year%400 == 0) return 1; else if(year%4 == 0 && year%100 != 0) return 1; else return 0; } void addmonth(int *day, int *month, int *year){ *day = 1; (*month)++; if(*month > 12) { *month = 1; (*year)++; } } int main(int argc, char *argv[]){ int year, month, day, a=0, max_days; int month_days[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; if(argc < 2) max_days = 10000; else max_days = atoi(argv[1]); printf("今日は西暦何年 何月 何日? "); scanf("%d%d%d",&year,&month,&day); while(a<max_days) { a++; day++; if(month == 2 && leapyear(year)) { if(day > 29) addmonth(&day, &month, &year); } else { if(day > month_days[month-1]) addmonth(&day, &month, &year); } } printf("今日から%d日後は、%d年%d月%d日です。",max_days, year, month, day); }

  • VC++でif文が処理されません

    万年カレンダーを作っていて、先日こちらで日付の取得方法を質問して解決法を教えていただき、その後制作を進めていました。 が、今度はコンパイルは成功しても一部コードが処理されずに行き詰ってしまいました。 以下のようにlabel2に日付を表示させるコードを書いてみたのですが、/*日付の表示*/の if(wd%7 == 0){ label2->Text = Cal + "\r\n"; } が読み込まれていないようで、改行されません。 試しに"\r\n"ではなく別の文字列を入れてみたり、if(wd == 6)に換えてみたりしました。 が、どちらも成果はありませんでした。 どこかおかしい部分があるのでしょうか? コンパイルは成功するので、構文としては間違っていないと思います。 無駄に長いコードになってしまっているかも知れませんが、よろしくお願いします。 <↓ここからソースです> private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { DateTime d1 = DateTime::Now; textBox1->Text = d1.ToString("yyyy"); textBox2->Text = d1.ToString("MM"); int year,month,day ; /* 年 月 日 */ int wd; /* 曜日 */ int dm ; /* 月の日数 */ int L0 ; /* カウンタ */ String^ Cal = ""; /*年・月・日を代入*/ year = System::Int32::Parse( d1.ToString("yyyy") ); month = System::Int32::Parse( d1.ToString("MM") ); day = System::Int32::Parse( d1.ToString("dd") ); /*現在の年・月が何日あるか*/ switch(month) { case 2: if ( year%4 == 0 && (year%100 != 0 || year%400 ==0)){ dm = 29 ; /* うるう年 */ } else { dm = 28 ; break ; } case 4: case 6: case 9: case 11: dm = 30 ; break ; default: dm = 31 ; break ; } /* 今年・今月1日の曜日を求める */ if (month == 1 || month == 2) { year-- ; month += 12 ; } wd = (year + year/4 - year/100 + year/400 + (13*month+8)/5 +1) % 7 ; /* スペースの表示 */ for (L0=0;L0<wd;L0++) { label2->Text = Cal + " "; Cal = label2->Text; } /* 日付の表示 */ for(L0=1;L0<=dm;L0++){ if(wd == 6){ label2->Text = Cal + "\r\n"; } label2->Text = Cal + L0; Cal = label2->Text; wd = wd + 1; } label1->Text = "日  月  火  水  木  金  土" + "\r\n"; }

  • ファイルデータの入れ替えについての質問

    お世話になります ファイルの内容は $s_get_year<>$s_get_month<>@chk<>\n このような並び方です POSTメソッドで送られてきたデータ$get_yearと$get_monthが 一番目のデータ($s_get_year)と2番目のデータ($s_get_month)と同じならば その行を入れ替えて、そうでなければ追加して書き込むという処理を行いたいのですが 下記のようにしたのですが思い通りの動作をしません、御教授お願いします。 sub ho_disc_write { @new=(); open(IN,"$holidayfile") || &error("Open Error : $holidayfile"); while (<IN>) { ($s_get_year,$s_get_month) = split /<>/, $_, 2; if ($s_get_year == $get_year && $get_month == $s_get_month) { $_ = join('<>',$get_year,$get_month,@chk,"\n"); } push(@new,$_); } close(IN); # データ上書き open(OUT,">$holidayfile") || &error("Write Error : $holidayfile"); print OUT @new; close(OUT); exit; }

    • ベストアンサー
    • Perl
  • ホロスコープに詳しい方教えて下さい

    1980年1月9日生まれ   出生時間 21時22分 太陽 山羊座 月 天秤座 水星 山羊座 金星 水瓶座 火星 乙女座 木星 乙女座 土星 乙女座 天王星 蠍座 海王星 射手座 冥王星 天秤座 アセン 乙女座 このようなホロスコープの場合、どのような性格を持ち合わせているのでしょうか?個人的に乙女座が火星、木星、土星に集中しているが気になるのですが…ホロスコープに詳しい方がいらっしゃいましたらよろしくお願いします。

  • 生年月日関係の計算

    エクセルのバージョンは2002です。 2000/01/01のような生年月日のデータから、18年と1ヵ月後(年月のみ)のデータを作ります。 書式を変更するのではなく、新しいセルに打ち込みます。 なお、給与計算月(21日~翌20日)によるため、 たとえば1995/7/25なら2013/9      1995/7/15なら2013/8      1995/11/15なら2013/12            1995/11/25なら2014/1      1995/12/25なら2014/2  というように「給与計算月ベースの18年と1ヵ月後」のデータになるような式を作ります。 この条件で、L83のある生年月日を変換するのに =IF(MONTH(L83)+1=13,YEAR(L83)+19,IF(AND(DAY(L83)>20,MONTH(L83)+2=13),YEAR(L83)+19,YEAR(L83)+18))&"/"&IF(AND(DAY(L83)>20,MONTH(L83)+1=13),2,IF(AND(MONTH(L83)+2=13,DAY(L83)>20),1,IF(DAY(L83)>20,MONTH(L83)+2,IF(MONTH(L83)+1=13,1,MONTH(L83)+1)))) こんな式を強引に作ってうまく適用できたのですが、 もっとうまいやり方は無かったのだろうか・・・と思って質問しました。 やってみると意外に複雑です。 式を単純化できる方いらっしゃいましたら、後学のために教えてください。 よろしくお願いします

  • 該当日のスケジュール内容を別ウィンドウで表示したいのですが…。

    初めて質問させて頂きます。 プログラム初心者です。 今、課題でカレンダー作成(予定を表示させる)をしています。 現在の時点でカレンダーの指定日(予定のある日)にリンクをつけるところまでは出来たのですが、リンク先に移動した際に該当日の予定を表示させるのが出来なくて困っています。 (予定はCSVファイルからuploadしています。) どなたかお力を貸して頂けませんでしょうか??…orz。 宜しくお願いします。 ソースはこちらです。 …読みにくくてすみません(泣 <html> <head> <meta http-tquiv="Content-Type" content="text/html;charset=EUC-JP"> <title>カレンダー</title> </head> <form name="skl" method="post" action="yotei.php"> <body> <?php  $year = date("Y");  $month = date("n");  $day = date("j");  $year2=$_GET["year"];  $month2=$_GET["month"];  $day2=$_GET["day"]; //先月、来月をクリックした場合の処理  if($year2!="" || $month2!="" || $day2!="") {   if($year2!="") {    $year = $year2;   }   if($month2!="") {    $month = $month2;   }   if($day2!="") {    $day = $day2;   }else {    $day = 1;   }  } // カレンダー表示(先月の場合)  if($month==1) {   $year3 = $year-1;   $month3 = 12;  }else {   $year3 = $year;   $month3 = $month-1;  } // カレンダー表示(来月の場合)  if($month==12) {   $year4 = $year+1;   $month4 = 1;  }else {   $year4 = $year;   $month4 = $month+1;  } // テーブルの作成  print "<tableborder='1'><tr>";  print "<td width='250' align='center' bgcolor='yellowgreen' colspan='7'>";  print "<a href=\"?year=$year3&month=$month3\"><<</a>";  print " ".$year."年".$month."月のカレンダー ";  print "<a href=\"?year=$year4&month=$month4\">>></a></td></tr>";  print "<tr><td align='center' bgcolor='pink'>日</td>";  print "<td align='center' bgcolor='silver'>月</td>";  print "<td align='center' bgcolor='silver'>火</td>";  print "<td align='center' bgcolor='silver'>水</td>";  print "<td align='center' bgcolor='silver'>木</td>";  print "<td align='center' bgcolor='silver'>金</td>";  print "<td align='center' bgcolor='skyblue'>土</td></tr>";  $week = date(w,mktime(0,0,0,$month,1,$year));  for ($ix1 = 0 ; $ix1 < $week ; $ix1++) {   print "<td align='center'>-</td>";  } // ファイルの読み込み  $data = "date- data.CSV";  $file = fopen($data,"r");  while(!feof($file)){   $csv = fgets($file);   $csv = mb_convert_encoding($csv, "EUC-JP", "SHIFT-JIS"); //csvファイルを配列に格納   $str = explode(",", $csv);   for($day = 1 ; checkdate ($month,$day,$year) ; $day++) {    if($str[1] == "$year/$month/$day") {     $ymd[] = $str[1];    }   }  }  for($day = 1 ; checkdate ($month,$day,$year) ; $day++) {   print "<td align='center'";   if(($day+$week)%7 == 1 ) {    print "bgcolor='pink'><font color='red'>";   }else if(($day+$week)%7 == 0 ) {    print "bgcolor='skyblue'><font color='blue'>";   }else {    print "bgcolor='wheat'>";   }   for($i=0 ; $i<count($ymd) ; $i++) {    if($ymd[$i] == "$year/$month/$day") {     print "<a href=yotei.php>";    }   }   print "$day</td>";   if(($day+$week)%7 == 0 ) {    print "</tr>";   }  }  fclose($file);  $weekend = date(w,mktime(0,0,0,$month,$day,$year));  for ($ix2=0 ; $ix2<(7-$weekend) ; $ix2++) {   if ($weekend != 0) {    print "<td align='center'>-</td>";   }  }  print "</tr>";  print "</table>"; ?> <table border='0'> <tr> <td width="250"> <div align="center"> <input type="button" value="ファイル参照画面へ戻る" onClick="location.href='upload.php'" name="button"> </div> </td> </tr> </table> <br><br> </body> </form> </html>

    • 締切済み
    • PHP
  •  EXCELのIF関数についての質問です。

     EXCELのIF関数についての質問です。  IF関数については、自信がありました。 たとえば、G13をテストの得点だとして、80点よりも高い得点なら合格、さもなければ不合格と表示させてければ、if(G13>80,"合格","不合格")でOKのはずです。  ところが、今日何歳なのかを表示させる場合、G13に生年月日をいれて、 IF(OR(MONTH(TODAY())>MONTH(G13),AND(MONTH(TODAY())=MONTH(G13),DAY(TODAY())>=DAY(G13)))=TRUE,YEAR(TODAY())-YEAR(G13),YEAR(TODAY())-YEAR(G13-1))と引継ぎをうけました。  この中にあるTRUEの意味がわかりません。私の解釈では、「今日の月が誕生月よりも絶対値が大きい」又は「今日の月と誕生月が同じで、今日の日が誕生の日の絶対値と同じか多い」場合、年齢は「今日の年」-「誕生の年」、そうでない場合は年齢は「今日の年」-1-「誕生の年」です。  なので、TRUEはなくてもよいと思い、削除してみましたが、エラーが出ました。  よくわからないので、お手数ですが、教えてください

  • jsでフラグ型をenum型に変えたい。

    以下のjavascript文があります。 [code] //平日ダイヤか土・休日ダイヤかを判定する function dayJudge(year, month, date, day) { //alert(year +" "+ month +" "+ date +" "+ day) //フラグ var weekdayFlag = true; //月?金なら立てる if(day >= 1 && day <= 5) weekdayFlag = day >= 1 && day <= 5;   else if(day==6) weekdayFlag2 = day == 6 else weekdayFlag = false; //祝日ならたおす if(year == 2013 && month == 1 && date == 1) weekdayFlag = false; else if(year == 2013 && month == 10 && date == 14) weekdayFlag = false; else if(year == 2015 && month == 3 && date == 21) weekdayFlag = false; return weekdayFlag; } [/code] をフラグ型から、enum型に変更できませんか。 フラグではAもしくはBといった2通りの回答しかございませんので、 3つめの分岐は作ることはシステム上無理なのです。 enum型なら、パターンはある程度余裕(無限じゃないかも)をもたせることできるからです。