目次 1.はじめに.......................................................................................... 2 1.1 研究の背景...........................................................................................................2 1.2 研究目標...............................................................................................................2 2.Web サービスについて.................................................................... 2 2.1 SOAP 型 Web サービスについて........................................................................2 2.1.1 インストールと環境設定..........................................................................3 2.2 REST 型 Web サービスについて.........................................................................5 2.3 マッシュアップについて.....................................................................................5 3.PHPについて ............................................................................... 5 3.1 4. xampp について.................................................................................................6 カロリーチェックシステムの開発 ............................................... 7 4.1 システムの概要......................................................................................................7 4.2 システムの機能....................................................................................................7 4.3 マッシュアップした Web サービスについて.......................................................8 4.4 システムの詳細について.....................................................................................9 5. おわりに .................................................................................... 16 5.1 まとめ..................................................................................................................16 5.2 今後の課題.........................................................................................................16 参考文献 ............................................................................................... 17 付録 1 1.はじめに 1.1 研究の背景 これまで情報の受け手であったユーザが情報の発信者へとシフトし、一方向の通信か ら双方向の通信になりつつある。ユーザ参加型のモデルがインターネットの世界で広ま り、情報の発信者が増えたことで、「コラボレーションし、より有益な情報が生み出さ れる」という現象が起こりつつある。この様な次世代 Web の現象を総称して Web2.0 と呼ぶ[1][2]。この Web2.0 で注目されているのが、REST 型の Web サービスである。 従来の SOAP 型 Web サービスでは HTTP プロトコル上に SOAP といわれる XML 形 式のデータをのせて、Web サービスサーバとクライアント間でデータ交換を行うもの で、ユーザ側もクライアントプログラムを作成しないといけなかったが、REST 型 Web サービスでは HTTP プロトコルそのものを直接利用し、XML形式のデータ交換を行 い、操作が容易で、クライアントプログラムを作成する必要がないため、REST 型 Web サービスが多く利用されるようになってきた。Yahoo、Google、Amazon など多くの企 業が REST 型 Web サービス API を提供している。 1.2 研究目標 最近、世の中で「メタボ」という言葉が浸透している。メタボとは、内臓脂肪型肥満 (内臓肥満・腹部肥満)に高血糖・高血圧・高脂血症のうち2つ以上を合併した状態を いい、このメタボを警戒するために、たくさんのダイエット方法、ダイエット商品など が生み出されている。私はその中で「レコーディングダイエット」というダイエット方 法に興味を持った。レコーディングダイエットとは、その日食べた料理名を書くという 方法だが、毎回毎回ノートに書き込む作業は面倒なので、この作業をもっと効率良く、 簡単にするシステムがほしいと考えた。そこで、Web2.0の基盤技術とシステム開発技 術を習得するとともに、PHPを利用して、REST 型 Web サービス API をマッシュア ップしたメタボ対策用のシステムを開発することにした。 2.Web サービスについて 2.1 SOAP 型 Web サービスについて SOAP とは、Simple Object Access Protocol の略[3]で、XML と HTTP などをベー スとした他のコンピュータにあるデータやサービスを呼び出すためのプロトコル(通信 2 規約)[4]である。SOAP による通信では、XML 文書にエンベロープと呼ばれる付帯情 報が付いたメッセージを、HTTP などのプロトコルで交換する。サービスを利用するク ライアントと、サービスを提供するサーバの双方が SOAP の生成・解釈エンジンを持 つことで、異なる環境間でのオブジェクト呼び出しを可能にしている。 2.1.1 インストールと環境設定 その SOAP 型 Web サービスを開発し、提供するためのフレームワークとして Axis がある。また SOAP 型 Web サービスは HTTP プロトコルをベースに動作するので、 HTTP サーバも必要になる。それら Axis と HTTP サーバ Tomcat のインストールと実 行環境の設定について、以下で説明する。 (1) Axis と Tomcat のインストールについて Axis とは、SOAP 型 Web サービスを開発し、運用するためのフレームワーク(SOAP エンジンという)である。Axis を利用するためには、http サーバである Tomcat が必 要であるため、まず Tomcat5.0.30をインストールする。その際、設定する環境変数を 表1に示す。 表1 環境変数の設定 CATALINA_HOME C:¥tomcat-5.0.30¥tomcat-5.0.30 JAVA_HOME c:¥j2sdk1.4.2_17 AXIS_HOME c:¥axis-1_1¥axis-1_1 Path %JAVA_HOME%¥bin .;%JAVA_HOME%¥lib¥ CLASSPATH tools.jar;%CATALINA_HOME%¥common¥lib¥servlet.jar C:¥tomcat5.0.30¥bin>startup.bat として tomcat を起動する。 その後、Web ブラウザを起動し http://localhost:8080/とし、図 1 のような画面が表示 されれば、正常に起動していることが確認できた。 3 図1 tomcat 起動画面 続いて、Axis をインストールする。 Axis2のバイナリーを http://ws.apache.org/axis2/から入手し、フォルダに解凍後、環境 変数 AXIS2_HOME を設定する。 C:¥tomcat5.0.30¥webapps¥axis に以下の内容を持つ Axis の環境変数を設定するバッ チファイル setenv.bat を作成しておき、Tomcat の startup.bat ファイル実行後、DOS プロンプト画面で下記を実行して Axis 環境変数をセットする。 C:¥tomcat5.0.30¥webapps¥axis>setenv.bat @echo off set XERCES_HOME=D:¥Xerces-J-tools.1.4.4¥tools set CLASSPATH=%CLASSPATH%;%AXIS_HOME%¥lib¥axis.jar set CLASSPATH=%CLASSPATH%;%AXIS_HOME%¥lib¥axis-ant.jar set CLASSPATH=%CLASSPATH%;%AXIS_HOME%¥lib¥jaxrpc.jar set CLASSPATH=%CLASSPATH%;%AXIS_HOME%¥lib¥saaj.jar set CLASSPATH=%CLASSPATH%;%AXIS_HOME%¥lib¥commons-logging.jar set CLASSPATH=%CLASSPATH%;%AXIS_HOME%¥lib¥commons-discovery.jar set CLASSPATH=%CLASSPATH%;%AXIS_HOME%¥lib¥log4j-1.2.4.jar set CLASSPATH=%CLASSPATH%;%AXIS_HOME%¥lib¥wsdl4j.jar set CLASSPATH=%CLASSPATH%;%XERCES_HOME%¥xerces.jar 図2 setenv.bat の内容 4 2.2 REST 型 Web サービスについて REST (REpresentational State Transfer) [5]とは、HTTP メソッドの GET プロトコ ルや POST プロトコルなどを直接利用して処理を行う形態である。その REST スタイ ルを利用した Web サービスを REST 型 Web サービスという。従来の SOAP 型 Web サ ービスに比べて、操作が簡単で利用しやすいため、急速に利用が拡大している。Web ブラウザに URL を入力し、Web サービスへの入力パラメータとその値を指定すれば実 行できる。本システムの開発には、この REST 型 Web サービスを 2 種類利用し、マッ シュアップしている。 2.3 マッシュアップについて Web 上に提供されている情報やサービスなどを組み合わせて、新しいソフトウェア やサービス、データベースなどを作ることで、Web 2.0の構成要素として注目されてい る。Web 技術におけるマッシュアップは、 「Web 2.0」の潮流とともに非常に盛んにな った。その背景としては、Amazon.com、Google、Flickr、YouTube といった、いわゆ る Web 2.0企業が、自社の Web サービスの機能を API として無償で提供する事例が増 えたという点を挙げることができる[11]。それに伴い、API を利用して複合的な機能を 持った Web サービスを開発することが可能となり、Web の可能性が広がった、という わけである。そのマッシュアップのイメージ図を図3に示す。 図3 マッシュアップのイメージ図 3.PHPについて PHP 言語とは、 動的に Web ページを生成する Web サーバの拡張機能の一つであり、 そこで使われるスクリプト言語のことである。レイアウトの「雛形」となる HTML フ ァイル内に、処理内容を記述したスクリプトを埋め込み、処理結果に応じて動的に文書 を生成し、送出することができる。正式名称の「PHP: Hypertext Preprocessor」[7] にもあるように、動的に生成されるページの作成に向いている。また、XML のサポー 5 トや各種データベースとの連携に優れている点などから近年普及しつつある。プログラ ムの表記法は C 言語、Java、Perl の各言語から転用したものがベースとなっているが、 PHP 独自のものもある。言語仕様やプログラムはオープンソースソフトウェアとして 無償で入手することができる。 3.1 xampp について XAMPP とは、HTTP サーバや PHP、MySQL など図 4 に示したアプリケーションを Windows に一括インストールできるフレームワークであり、本システムでも利用している。 本システム開発で利用した xampp のバージョンは 1.6.8 である。 Apache HTTPD 2.0.52 MySQL 4.1.8 PHP 5.0.3 + 4.3.10 + PEAR + Switch MiniPerl 5.8.3 mod_ssl 2.0.51 Openssl 0.9.7e PHPMyAdmin 2.6.0 pl3, Webalizer 2.01-10 Mercury Mail Transport System fur Win32 und NetWare Systems v4.01a FileZilla FTP Server 0.9.4d SQLite 2.8.15 ADODB 4.52 Zend Optimizer 2.5.7 XAMPP Security 図4 xampp で一括インストールできるソフトウェア XAMPP は ApacheFriends によって開発&提供されており、Windows で PHP を実行 する環境を構築できる現時点で最も簡単なソフトウェアである。 起動方法は、スタートメニュー → apachefriends → xampp → xampp basic start という流れで実行し、起動後に表示される図 5 の画面を閉じると、終了してしまうので 開発を進める場合は閉じないようにする。 6 図 5 起動画面 また、停止する際は、スタートメニュー → apachefriends → xampp → xampp basic stop とする。 4.カロリーチェックシステムの開発 4.1 システムの概要 現代はメタボの時代といわれているように、食べ過ぎによる体重増加で健康を害する 人が増えている。そのメタボ対策用のシステムとして、日々の食事内容のカロリーを算 出し、個々の基礎代謝量と比較して、適切なカロリー摂取をサポートする目的で本シス テムを開発した。利用者の身長、体重、性別、年齢から基礎代謝量と体重維持必要カロ リーを計算し、食事ごとの摂取カロリーを算出し、取得総カロリー量をファイルに記録 し、食べ過ぎかどうかを確認できる。本システムは、以下で説明する 2 種類の Web サ ービスをマッシュアップし、PHP を用いて開発した[6]。 4.2 システムの機能 本システムの機能について具体的に説明する。 (1)名前、年齢、性別、身長、体重を入力し、BMI 指数、基礎代謝量、体重維持必 要カロリーを算出する。 (2)計 260 種類のメニューに対して、カロリー算出が可能であり、直接メニューを 指定しても算出できる。 (3)毎食毎に区別して、メニュー名とそのカロリーをファイルに記録し、カロリーオ 7 ーバーをチェックして表示する。 (4)毎食後にその日摂取できる残りのカロリーを表示する。 (5)摂取カロリーを消費するウォーキングとランニング時間を表示する。 これらは全て利用者毎に日単位でファイルに格納される。 4.3 マッシュアップした Web サービスについて 本システムは次に示す 2 種類の Web サービスをマッシュアップして開発した.それら の Web サービスについて説明する。 □カロリー算出 Web サービス[7] 指定したメニューのカロリーを XML データとして返す。 □カロリー消費 Web サービス[8] 指定したメニューのカロリーを消費するために必要な運動時間を XML データと して返す。 ①カロリー算出 Web サービスについて カロリー算出 Web サービスの XML 出力データ例を図6に、そのタグ内容を表2に示す。 図6 カロリー算出 Web サービスの出力データ(XML 形式) 8 表2 カロリー算出 Web サービスの出力タグの説明 Results 内部 ID api_cersion 本 API のバージョン results_returned 検索結果数 food 複数要素 ├ id 内部 ID ├ name 料理名 ├ cal 消費キロカロリー ②カロリー消費 Web サービスについて 料理名を渡すとそれに対するカロリーとそのカロリーを消費するためのウォーキン グとランニングの分数を返す Web サービスである。その出力 XML データについて表 3にまとめる。 表3 4.4 カロリー消費 Web サービスの出力タグの説明 Result 内部 ID Menu_name 料理名 calcKcal 料理のキロカロリー calcKcalByWalking 料理のキロカロリーをウォーキングで消費する分数 calcKcalByRunning 料理のキロカロリーをランニングで消費する分数 システムの詳細について システムの具体的な処理について、以下で順番に説明する。 (1)入力部分について <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>カロリーチェックシステム</title> </head> <body bgcolor="#F5F5F5"text="#000080" > <table width='100%' cols='2' border='3px'> <colgroup span='2'> <col width='20%'></col> <col width='80%'></col> </colgroup> <tr> <td colspan='2'> 9 ① <center><h1>カロリーチェックシステム</h1></center> </td> </tr> <?php echo date("Y-m-d D H:i:s"); ?> ② <form method="GET" action="<?php echo $_SERVER['PHP_SELF']; ?>" > <table> <tr><td height="30px" colspan="2" bgcolor="#f1f1f1" style="border-top:1px dotted #666666;"> <b>お名前</b><input type="text" name="person" size="40" /> ③ <table border="1" cellpadding="2" cellspacing="2" width="100%"> <tr> <td width="75%" style="padding-left:3px;" nowrap="nowrap"> <input type="radio" id="sexM" name="sex" value="M" /> ④ <label for="sexM"><span style="font-size:15px;">男</span></label> <input type="radio" id="sexF" name="sex" value="F" checked="checked" /> <label for="sexF"><span style="font-size:15px;">女</span></label><br> 身長(m) <input name="height" type="text" id="height" value="" size="5" /><br> 体重(kg)<input name="weight" type="text" id="weight" value="" size="5" /><br> 年齢<input name="age" type="text" id="age" size="5" value="" maxlength="2" /> 歳 <br> </td></tr> <br> <BR> <TABLE height="83" border="1" cellpadding="0" cellspacing="0"> <TBODY> <TR> <TD width="72"><DIV align="center">判定</DIV></TD> <TD width="84"><DIV align="center">やせぎみ</DIV></TD> <TD width="84"><DIV align="center">普通</DIV></TD> <TD width="84"><DIV align="center">太りぎみ</DIV></TD> <TD width="84"><DIV align="center">太りすぎ</DIV></TD> </TR> <TR> <TD><DIV align="center">BMI指数</DIV></TD> <TD width="84"><DIV align="center">20未満</DIV></TD> <TD width="84"><DIV align="center">20~24<BR>未満</DIV></TD> <TD width="84"><DIV align="center">24~26.5<BR>未満</DIV></TD> <TD width="84"><DIV align="center">26.5以上</DIV></TD> </TR> </TBODY> </TABLE> <BR> <tr><td><b>どれか一つ選択して下さい</b><br> <input type="radio" name="eat" value="first" />朝食 <input type="radio" name="eat" value="lunch" />昼食 <input type="radio" name="eat" value="dinner" />夕食 <input type="radio" name="eat" value="middle" />間食<br> </td></tr> 10 ⑤ <tr><td><b>料理名の入力(下記の料理名選択を利用しない場合)</b><br> <input type="text" name="food" size="30" /> <input type="submit" name="submit" value="算出" /> <input type="reset" /> </td></tr> </table> </table> ⑥ ①の部分 タイトルの表示と背景色、文字色の設定を行っている。 ②の部分 form タグの action に SERVER 変数を設定し、 「サーバの PHP」にフォームで指定さ れた入力データを渡すようにした。PHP_SELF で PHP スクリプトを再帰的に定義 している。 ③の部分 名前を person 変数に格納する。 ④の部分 性別の選択をラジオボタンで構成した。 ⑤の部分 メニュー指定を含む各種パラメータの指定と選択をテキストフィールドとラジオボ タンで構成した。 ⑥の部分 入力された料理名を food 変数に格納し、submit ボタンで HTML の form タグの内 容をサーバに送信する。 (2)基礎データ計算処理部分 <?php $name=$_GET["person"]; $date=date("Ymd"); ① $fileName=$name.$date; print("<table>"); print("<tr><td>"."-----------------------------------"."</td></tr>" ); print("<tr><td>日付 : " .$date ); print("</td></tr>" ); if( $_GET["person"] != "" ) print("<tr><td>名前 : " .$name ); print("</td></tr>" ); if( file_exists( $fileName ) ){ print("<tr><td>"."-----------------------------------"."</td></tr>" ); $fineCont=file_get_contents( $fileName ); $fp=fopen( $fileName, 'a+'); while ( $line=fgets($fp) ){ 11 print("<tr><td>" .$line ); print("</td></tr>" ); } print("<tr><td>"."-----------------------------------"."</td></tr>" ); fclose( $fp); }else{ if( $_GET["person"] != "" ){ $fp=fopen( $fileName, 'a+'); //---- BMI指数, 基礎代謝量,体重維持必要カロリー計算 ------------------$h=$_GET["height"]; $w=$_GET["weight"]; $hh=$h*$h; $hcm=$h * 100; $bmi=round( $w/$hh, 2); $sex=$_GET["sex"]; $age=$_GET["age"]; if( strcmp( $sex, "F") == 0 ){ $kcal= 665 + (9.6* $w) + (1.7* $h * 100) - (7.0 * $age) ; }else{ $kcal= 66 +(13.7* $w) + (5.0* $h * 100) - (6.8 * $age) ; } $active=round( $kcal/0.6 , 0); ② ①の部分 利用者毎に日単位でカロリー摂取記録を格納するために、ファイル名を「名前」と「日 付」の組み合わせとして自動生成し、記録する。 ②の部分 BMI指数、基礎代謝量、体重維持必要カロリーを計算する。 以下に計算式を示す。 ・BMI指数 体重[kg]/(身長[m])2 ・基礎代謝量[4] 女性:665+(9.6×体重[kg])+(1.7×身長[cm])-(7.0×年齢) 男性:66+(13.7×体重[kg])+(5.0×身長[cm])-(6.8×年齢)[9] ・体重維持必要カロリー 基礎代謝量/0.6 (3)カロリー計算 Web サービス実行・解析部とファイル処理部分 <!--//まねきねこのカロリ計算Webサービス実行--> <?php $eatCal=""; $n="\n"; if( $_GET["person"] != "" ){ if( file_exists( $fileName ) ){ $fineCont=file_get_contents( $fileName ); ① 12 //各ファイルの体重維持必要カロリ値と総カロリ値を読む $lines = file( $fileName ) ; $allcnt=count($lines); $cnt=0; foreach($lines as $l){ //一行ずつ処理 if($cnt == 8){ //体重維持必要カロリ値表示 $op=explode("=",$l); // = 区切り記号 $active =$op[1]; }else if( $cnt == ($allcnt-2) ){ $op=explode("=",$l); //各要素を取り出す $totalcal =$op[1]; } $cnt++; } ② $fp=fopen( $fileName, 'a+'); while ( $line=fgets($fp) ){ } }else{ $fp=fopen( $fileName, 'a+'); } fwrite($fp, $_GET["eat"]."\n"); fwrite($fp, $_GET["food"]."\n"); // Web services request $request = 'http://24th.jp/test/api_cal.php?submit=on&name='.$_GET["food"]; print("<br>" ); $parsed_xml = simplexml_load_file($request); print("<table>"); print("<tr><td>料理名 :".$parsed_xml->food->name ); print("</td></tr>" ); $eatCal=$parsed_xml->food->cal; print("<tr><td>カロリー:".$eatCal ); print("</td></tr>" ); $totalcal=$totalcal+$eatCal; print("<tr><td>摂取総カロリー: " .$totalcal); print("</td></tr>" ); fwrite($fp, $eatCal."\n"); fwrite($fp, "摂取総カロリー=" .$totalcal."\n"); if( ($active-$totalcal) > 0 ){ fwrite($fp, "あと =" .($active-$totalcal)."= kcalまでOKです。\n"); print("<tr><td>あと" .($active-$totalcal)." kcalまでOKです。"); }else{ fwrite($fp, "警告:カロリーオーバー =" .-1*($active-$totalcal)."= kcalオーバー。\n"); print("<tr><td>警告:カロリーオーバー " .-1*($active-$totalcal)." kcalオーバー。"); } print("</td></tr>" ); print("</table>"); fclose( $fp); } ?> 13 ③ PHP には多くのライブラリ関数が用意されている。それらの file 関数や count 関数、 explode 関数、および配列変数を利用して、ファイルに記録された体重維持必要カロリ ーや摂取したカロリー値を読み、演算処理を行い、摂取可能カロリーを Web ブラウザ に表示するとともに再びファイルに記入する処理を行っている。 ①の部分 ファイルが存在するかどうか判定している。 ②の部分 file 関数でファイル全体を読み込み、配列に格納し、count 関数でその配列にいくつ 要素が格納されているのか数え、explode 関数で引数の文字列を指定した文字で区切 り、分割された文字列を配列として返す[10]。foreach 文で配列内の要素を全て読み出 している。 ③の部分 メニュー名が格納された food 変数を引数として渡す。 「カロリーAPI」Web サービ スの URL を simplexml_load_file 関数に渡し、Web サービスを実行した。その出力 結果が parsed_xml 変数に格納され、この変数を解析し、XML のタグを指定して、 料理名やカロリーを抽出する。なお、Web サービスからの出力データは XML データ であり、それを解析するために simplexml_load_file 関数を利用した。 (4) カロリー消費 Web サービス出力データ解析部分 <!--//soogleのカロリ消費Webサービス実行--> <?php function printCalcal($xml2 ){ print("<table>"); foreach( $xml2->kcalInfo->item as $element){ ① } if( ( $xml2->kcalInfo->calcKcalByWaiking ) > 0 ){ print("<tr><td>ウォーキングで消費するための分数 :".$xml2->kcalInfo->calcKcalByWaiking ); print("</td></tr>" ); } if( ( $xml2->kcalInfo->calcKcalByRunning ) > 0 ){ print("<tr><td>ランニングで消費するための分数 :".$xml2->kcalInfo->calcKcalByRunning ); print("</td></tr>" ); } print("</table>"); } ?> ①の部分 変数 xml2に格納された要素を読み出している。 ②の部分 14 ② ③ ウォーキングでの消費時間を抽出し、表示する。 ③の部分 ランニングでの消費時間を抽出し、表示する。 (3) システムの実行結果 本システムの実行結果を示す。ブラウザ出力されたデータを整形し、利用者毎のファ イルを生成し、記入する。図 7 はブラウザ表示で、図 8 はファイル格納データである。 図 7 ブラウザ上で表示された本システムの実行結果 15 図 8 ファイルに格納された本システムの実行結果 5.おわりに 5.1 まとめ PHP を利用し、2種類の REST 型 Web サービスをマッシュアップして、カロリーチ ェックシステムを開発した。身体データを基に基礎代謝量を計算し、メニューから指定 された料理のカロリーを算出して、総カロリー量を求め、カロリーオーバをチェックす る。また、利用者毎に日単位で摂取したメニューとそのカロリー,摂取した総カロリー 量をファイルに自動的に記録する。 5.2 今後の課題 PHP 言語やライブラリ関数の理解と修得、及び XML データの解析など難しいこと がたくさんあったが、何とか開発することができた。カレンダーとファイルとの連動性 や入出力画面をもっと見やすくできないか、メニューをもっと増やす、などを今後の課 題としたい。記録したデータの通信などもできれば更に応用が広がる。 16 参考文献 [1]「WEBマーケティング研究会」 : http://www.webdbm.jp/2008/01/1restweb_4650.html [2]「日経トレンディネット」: http://trendy.nikkeibp.co.jp/article/col/20051108/114164/ [3]株式会社ユアシスト:http://www.uassist.co.jp/ [4]日立情報システム:http://www.hitachijoho.com/ [5] Roy T. Fielding: http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm [6] 高島優作: 「PHP5 逆引き大全 500 の極意」 、秀和システム(2006). [7] カロリーAPI:http://blog.24th.jp/?eid=908519 [8] Carolie API:http://soogle.ddo.jp/calapi/ [9]アスコムダイエットウェブ:http://www.ascom.jp/htmls/taisha.html [10]IT用語辞典:http://e-words.jp/ 17 付録 18 cal15.php <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>カロリーチェックシステム</title> </head> <body bgcolor="#F5F5F5"text="#000080" > <table width='100%' cols='2' border='3px'> <colgroup span='2'> <col width='20%'></col> <col width='80%'></col> </colgroup> <tr> <td colspan='2'> <center><h1>カロリーチェックシステム</h1></center> </td> </tr> <?php echo date("Y-m-d D H:i:s"); ?> <form method="GET" action="<?php echo $_SERVER['PHP_SELF']; ?>" > <table> <tr><td height="30px" colspan="2" bgcolor="#f1f1f1" style="border-top:1px dotted #666666;"> <b>お名前</b><input type="text" name="person" size="40" /> <table border="1" cellpadding="2" cellspacing="2" width="100%"> <tr> <td width="75%" style="padding-left:3px;" nowrap="nowrap"> <input type="radio" id="sexM" name="sex" value="M" /> <label for="sexM"><span style="font-size:15px;">男</span></label> <input type="radio" id="sexF" name="sex" value="F" checked="checked" /> <label for="sexF"><span style="font-size:15px;">女</span></label><br> 身長(m) <input name="height" type="text" id="height" value="" size="5" /><br> 体重(kg)<input name="weight" type="text" id="weight" value="" size="5" /><br> 年齢<input name="age" type="text" id="age" size="5" value="" maxlength="2" /> 歳 <br> </td></tr> <br> <BR> <TABLE height="83" border="1" cellpadding="0" cellspacing="0"> <TBODY> <TR> <TD width="72"><DIV align="center">判定</DIV></TD> <TD width="84"><DIV align="center">やせぎみ</DIV></TD> <TD width="84"><DIV align="center">普通</DIV></TD> <TD width="84"><DIV align="center">太りぎみ</DIV></TD> <TD width="84"><DIV align="center">太りすぎ</DIV></TD> </TR> <TR> <TD><DIV align="center">BMI指数</DIV></TD> 19 <TD width="84"><DIV <TD width="84"><DIV <TD width="84"><DIV <TD width="84"><DIV </TR> </TBODY> </TABLE> <BR> align="center">20未満</DIV></TD> align="center">20~24<BR>未満</DIV></TD> align="center">24~26.5<BR>未満</DIV></TD> align="center">26.5以上</DIV></TD> <tr><td><b>どれか一つ選択して下さい</b><br> <input type="radio" name="eat" value="first" />朝食 <input type="radio" name="eat" value="lunch" />昼食 <input type="radio" name="eat" value="dinner" />夕食 <input type="radio" name="eat" value="middle" />間食<br> </td></tr> <tr><td><b>料理名の入力(下記の料理名選択を利用しない場合)</b><br> <input type="text" name="food" size="30" /> <input type="submit" name="submit" value="算出" /> <input type="reset" /> </td></tr> </table> </table> <?php require_once 'calendar(tanaka).php'; include 'menu1(tanaka).htm'; include 'menu2(tanaka).html'; include 'menu3(tanaka).html'; include 'menu4(tanaka).html'; include 'menu5(tanaka).html'; include 'menu6(tanaka).html'; include 'menu7(tanaka).html'; include 'menu8(tanaka).html'; include 'menu9(tanaka).html'; include 'menu10(tanaka).html'; include 'menu11(tanaka).html'; include 'menu12(tanaka).html'; ?> <?php $name=$_GET["person"]; $date=date("Ymd"); //echo " date = " .$date ; $fileName=$name.$date; //echo ", filename = " .$fileName ; print("<table>"); print("<tr><td>"."-----------------------------------"."</td></tr>" ); print("<tr><td>日付 : " .$date ); print("</td></tr>" ); if( $_GET["person"] != "" ) print("<tr><td>名前 : " .$name ); print("</td></tr>" ); if( file_exists( $fileName ) ){ print("<tr><td>"."-----------------------------------"."</td></tr>" ); $fineCont=file_get_contents( $fileName ); //print "file cont = " .$fineCont; 20 //print("<br>" ); $fp=fopen( $fileName, 'a+'); while ( $line=fgets($fp) ){ //echo "fgets0: " .$line ; print("<tr><td>" .$line ); print("</td></tr>" ); //print("<br>" ); } print("<tr><td>"."-----------------------------------"."</td></tr>" ); //print("</td></tr>" ); fclose( $fp); }else{ if( $_GET["person"] != "" ){ $fp=fopen( $fileName, 'a+'); //---- BMI指数, 基礎代謝量,体重維持必要カロリー 計算 ------------------$h=$_GET["height"]; $w=$_GET["weight"]; $hh=$h*$h; $hcm=$h * 100; $bmi=round( $w/$hh, 2); $sex=$_GET["sex"]; $age=$_GET["age"]; if( strcmp( $sex, "F") == 0 ){ $kcal= 665 + (9.6* $w) + (1.7* $h * 100) - (7.0 * $age) ; //print(", F = ".(1.7* $h * 100) ." , (9.6*$w)= " . (9.6* $w) . ", =" .(7.0 * $age) ); }else{ $kcal= 66 +(13.7* $w) + (5.0* $h * 100) - (6.8 * $age) ; } $active=round( $kcal/0.6 , 0); print("<tr><td>身長(cm) : " .$hcm); print("</td></tr>" ); print("<tr><td>体重(kg) : " .$w); print("</td></tr>" ); print("<tr><td>年齢 : " .$age."歳"); print("</td></tr>" ); print("<tr><td>性別 : " .$sex); print("</td></tr>" ); print("<tr><td>BMI指数 : " .$bmi ); print("</td></tr>" ); print("<tr><td>基礎代謝量 : " .$kcal); print("Kcal</td></tr>" ); print("<tr><td>体重維持必要カロリー : ".$active); print("Kcal</td></tr>" ); print("<tr><td>摂取総カロリー=" .$totalcal); print("Kcal</td></tr>" ); print("<tr><td>あと " .($active-$totalcal)."kcal までOKです。"); print("<tr><td>"."-----------------------------------"."</td></tr>" ); print("</table>"); fwrite($fp, "日付 = " .$date."¥n"); fwrite($fp, "名前 = " .$name."¥n"); fwrite($fp, "身長(cm) = " .$hcm."cm"."¥n"); fwrite($fp, "体重(kg) = " .$w."kg"."¥n"); fwrite($fp, "年齢 = " .$age."歳"."¥n"); fwrite($fp, "性別 = " .$sex."¥n"); fwrite($fp, "BMI値 = " .$bmi."¥n"); fwrite($fp, "基礎代謝量 = " .$kcal."kcal"."¥n"); fwrite($fp, "体重維持必要カロリー= " .$active."kcal"."¥n"); //---- BMI,指数 基礎代謝量,体重維持必要カロリー計算 ------------------fwrite($fp, "摂取総カロリー=" .$totalcal."¥n"); fwrite($fp, "あと=" .($active-$totalcal)."= kcalまでOKです。¥n"); fclose( $fp); 21 } } ?> <!--//まねきねこのカロリ計算Webサービス実行--> <?php $eatCal=""; $n="¥n"; //print("<br>" ); //echo "food : " .$_GET["food"] ." , file = " ,$_GET["person"]; //print("<br>" ); if( $_GET["person"] != "" ){ if( file_exists( $fileName ) ){ $fineCont=file_get_contents( $fileName ); //print "file cont = " .$fineCont; //print("<br>" ); //追加 各ファイルの体重維持必要カロリ値と総カロリ値を読む $lines = file( $fileName ) ; $allcnt=count($lines); $cnt=0; foreach($lines as $l){ //一行ずつ処理 if($cnt == 8){ //体重維持必要カロリ値表示 $op=explode("=",$l); // = 区切り記号 $active =$op[1]; //echo "fgets : active " .$op[1] ; //print("<br>" ); }else if( $cnt == ($allcnt-2) ){ $op=explode("=",$l); //各要素を取り出す $totalcal =$op[1]; //echo "fgets : total " .$op[1] ; //print("<br>" ); } $cnt++; } //ここまで $fp=fopen( $fileName, 'a+'); while ( $line=fgets($fp) ){ //print("<tr><td>" .$line ); //print("</td></tr>" ); //echo "fgets : " .$line ; //print("<br>" ); } }else{ $fp=fopen( $fileName, 'a+'); } fwrite($fp, $_GET["eat"]."¥n"); fwrite($fp, $_GET["food"]."¥n"); 22 // Web services request $request = 'http://24th.jp/test/api_cal.php?submit=on&name='.$_GET["food"]; //print("<br>" ); //print("code2 = " .$_GET["food"]."¥n" ); print("<br>" ); $parsed_xml = simplexml_load_file($request); print("<table>"); //print("<tr><td>データ数 : " .$parsed_xml->results_returned ); //print("<br>ID :".$parsed_xml->food->id ); print("<tr><td>料理名 :".$parsed_xml->food->name ); print("</td></tr>" ); $eatCal=$parsed_xml->food->cal; print("<tr><td>カロリー:".$eatCal ); print("</td></tr>" ); $totalcal=$totalcal+$eatCal; print("<tr><td>摂取総カロリー: " .$totalcal); print("</td></tr>" ); fwrite($fp, $eatCal."¥n"); fwrite($fp, "摂取総カロリー=" .$totalcal."¥n"); if( ($active-$totalcal) > 0 ){ fwrite($fp, "あと =" .($active-$totalcal)."= kcalまでOKです。¥n"); print("<tr><td>あと" .($active-$totalcal)." kcalまでOKです。"); }else{ fwrite($fp, "警告:カロリーオーバー =" .-1*($active-$totalcal)."= kcalオーバー。¥n"); print("<tr><td>警告:カロリーオーバー " .-1*($active-$totalcal)." kcalオーバー。"); } //print("<tr><td>あと" .($active-$totalcal)." kcalまでOKです。"); print("</td></tr>" ); //print("<br>" ); //print("<br><b>"."</b></td>"); print("</table>"); fclose( $fp); } ?> <!--//soogleのカロリー計算Webサービス実行--> <?php //echo "¥n¥n"; //echo "food : " .$_GET["food"]; // echo "¥n¥n"; //if( $_GET["person"] != "" ){ // Web services request // $req2 = 'http://soogle.ddo.jp/calapi/api?name='.$_GET["food"]; //print("code3 = " .$_GET["food"]."¥n" ); // print("<br>" ); //$xml2 = simplexml_load_file($req2); //if( is_null($xml2) == false ){ //printCalcal($xml2); //} 23 //} //if( $_GET["person"] != "" //-------------function printCalcal($xml2 ){ print("<table>"); //print("<tr><td>url : " .$xml2->kcalInfo->url ); foreach( $xml2->kcalInfo->item as $element){ //print("<br>ID2 :".$element->menuImg ); //print("<br>料理名2 :".$element->menuName ); //print("<br>カロリー2:".$element->kcalMiddle ); } if( ( $xml2->kcalInfo->calcKcalByWaiking ) > 0 ){ print("<tr><td>ウォーキングで消費するための分数 :".$xml2->kcalInfo->calcKcalByWaiking ); print("</td></tr>" ); } if( ( $xml2->kcalInfo->calcKcalByRunning ) > 0 ){ print("<tr><td>ランニングで消費するための分数 :".$xml2->kcalInfo->calcKcalByRunning ); print("</td></tr>" ); } //print("<br>" ); //print("<br><b>"."</b></td>"); print("</table>"); } ?> </body> </html> menu1(tanaka).htm <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"></head> <body bgcolor="#FFCC33" > <form method="GET" action="cal10(tanaka7).php"> <h3 class="cal_h3">ご飯・丼・カレー</h3> <table cellspacing="0" cellpadding="2" border="1" width="100%" > <tr> <td valign="top"><input type="radio" name="food" value="いなり寿司" />いなり寿司</td> <td valign="top"><input type="radio" name="food" value="うな重" />うな重</td> <td valign="top"><input type="radio" name="food" value="海の幸リゾット" />海の幸リゾット</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="エビドリア" />エビドリア</td> <td valign="top"><input type="radio" name="food" value="おにぎり" />おにぎり</td> <td valign="top"><input type="radio" name="food" value="オムハヤシ" />オムハヤシ</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="オムライス" />オムライス</td> <td valign="top"><input type="radio" name="food" value="親子丼" />親子丼</td> <td valign="top"><input type="radio" name="food" value="カツカレー" />カツカレー</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="かつ重" />かつ重</td> <td valign="top"><input type="radio" name="food" value="カツどん" />カツどん</td> 24 <td valign="top"><input type="radio" name="food" value="カレーライス" />カレーライス</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="キーマカレー" />キーマカレー</td> <td valign="top"><input type="radio" name="food" value="牛丼" />牛丼</td> <td valign="top"><input type="radio" name="food" value="玄米(1膳)" />玄米(1膳)</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="ごはん(1膳)" />ごはん(1膳)</td> <td valign="top"><input type="radio" name="food" value="鮭茶漬け(小)" />鮭茶漬け(小)</td> <td valign="top"><input type="radio" name="food" value="白がゆ" />白がゆ</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="シーフードカレー" />シーフードカレー</td> <td valign="top"><input type="radio" name="food" value="シーフードグラタン" />シーフードグラタン</td> <td valign="top"><input type="radio" name="food" value="助六寿司" />助六寿司</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="ステーキピラフ" />ステーキピラフ</td> <td valign="top"><input type="radio" name="food" value="チキンドリア" />チキンドリア</td> <td valign="top"><input type="radio" name="food" value="チャーハン" />チャーハン</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="中華丼" />中華丼</td> <td valign="top"><input type="radio" name="food" value="ちらし寿司" />ちらし寿司</td> <td valign="top"><input type="radio" name="food" value="チーズリゾット" />チーズリゾット</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="鉄火丼" />鉄火丼</td> <td valign="top"><input type="radio" name="food" value="天津丼" />天津丼</td> <td valign="top"><input type="radio" name="food" value="天どん" />天どん</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="ドライカレー" />ドライカレー</td> <td valign="top"><input type="radio" name="food" value="ドリア" />ドリア</td> <td valign="top"><input type="radio" name="food" value="にぎり寿司(並)" />にぎり寿司(並)</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="ハヤシライス" />ハヤシライス</td> <td valign="top"><input type="radio" name="food" value="パエリア" />パエリア</td> <td valign="top"><input type="radio" name="food" value="ビーフカレー" />ビーフカレー</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="ピラフ" />ピラフ</td> <td valign="top"><input type="radio" name="food" value="麻婆丼" />麻婆丼</td> <td valign="top"><input type="radio" name="food" value="野菜カレー" />野菜カレー</td> </tr> </table> <input type="submit" name="submit" value="算出" /> <input type="reset" /> </form> </body></html> 25 menu2(tanaka).html <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"></head> <body bgcolor="#FFCC33" > <form method="GET" action="cal10(tanaka7).php"> <h3 class="cal_h3">主食・メイン</h3> <table cellspacing="0" cellpadding="2" border="1" width="100%" > <tr> <td valign="top"><input type="radio" name="food" value="アジフライ" />アジフライ</td> <td valign="top"><input type="radio" name="food" value="イカのバター焼き" />イカのバター焼き</td> <td valign="top"><input type="radio" name="food" value="卯の花" />卯の花</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="エビチリソース" />エビチリソース</td> <td valign="top"><input type="radio" name="food" value="えびフライ4尾" />えびフライ4尾</td> <td valign="top"><input type="radio" name="food" value="おでん1人分" />おでん1人分</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="かきフライ4個" />かきフライ4個</td> <td valign="top"><input type="radio" name="food" value="焼肉(カルビ1皿)" />焼肉(カルビ1皿)</td> <td valign="top"><input type="radio" name="food" value="銀だらの照り焼き" />銀だらの照り焼き</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="コロッケ" />コロッケ</td> <td valign="top"><input type="radio" name="food" value="さばの塩焼き" />さばの塩焼き</td> <td valign="top"><input type="radio" name="food" value="さんまの塩焼き" />さんまの塩焼き</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="舌平目のムニエル" />舌平目のムニエル</td> <td valign="top"><input type="radio" name="food" value="しゃぶしゃぶ" />しゃぶしゃぶ</td> <td valign="top"><input type="radio" name="food" value="生姜焼き(もも肉)" />生姜焼き(もも肉)</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="白身魚フライ" />白身魚フライ</td> <td valign="top"><input type="radio" name="food" value="ステーキ(モモ150g)" />ステーキ(モモ150g)</td> <td valign="top"><input type="radio" name="food" value="酢豚" />酢豚</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="鯛の煮付け" />鯛の煮付け</td> <td valign="top"><input type="radio" name="food" value="チキンカツ" />チキンカツ</td> <td valign="top"><input type="radio" name="food" value="肉野菜炒め" />肉野菜炒め</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="八宝菜" />八宝菜</td> <td valign="top"><input type="radio" name="food" value="ハンバーグ中1個" />ハンバーグ中1個</td> <td valign="top"><input type="radio" name="food" value="フォアグラのソテー" />フォアグラのソテー</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="フライの盛り合わせ" />フライの盛り合わせ</td> <td valign="top"><input type="radio" name="food" value="豚肉野菜炒め" />豚肉野菜炒め</td> <td valign="top"><input type="radio" name="food" value="ぶり大根" />ぶり大根</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="ブリ照り焼き" />ブリ照り焼き</td> <td valign="top"><input type="radio" name="food" value="ポークソテー" />ポークソテー</td> 26 <td valign="top"><input type="radio" name="food" value="麻婆なす" />麻婆なす</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="野菜炒め" />野菜炒め</td> <td valign="top"><input type="radio" name="food" value="冷しゃぶ" />冷しゃぶ</td> <td valign="top"><input type="radio" name="food" value="レバニラ炒め" />レバニラ炒め</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="ロールキャベツ" />ロールキャベツ</td> <td valign="top"><input type="radio" name="food" value="和牛ヒレステーキ" />和牛ヒレステーキ</td> </tr> </table> <input type="submit" name="submit" value="算出" /> <input type="reset" /> </form> </body></html> menu3(tanaka).html <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"></head> <body bgcolor="#FFCC33" > <form method="GET" action="cal10(tanaka7).php"> <h3 class="cal_h3">定食・弁当・セット</h3> <table cellspacing="0" cellpadding="2" border="1" width="100%" > <tr> <td valign="top"><input type="radio" name="food" value="あじフライ定食" />あじフライ定食</td> <td valign="top"><input type="radio" name="food" value="エビフライ弁当" />エビフライ弁当</td> <td valign="top"><input type="radio" name="food" value="唐揚げ定食" />唐揚げ定食</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="唐揚げ弁当" />唐揚げ弁当</td> <td valign="top"><input type="radio" name="food" value="刺身定食" />刺身定食</td> <td valign="top"><input type="radio" name="food" value="しゃけ弁当" />しゃけ弁当</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="生姜焼き定食" />生姜焼き定食</td> <td valign="top"><input type="radio" name="food" value="すき焼き定食" />すき焼き定食</td> <td valign="top"><input type="radio" name="food" value="ステーキセット" />ステーキセット</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="酢豚定食" />酢豚定食</td> <td valign="top"><input type="radio" name="food" value="天ぷら定食" />天ぷら定食</td> <td valign="top"><input type="radio" name="food" value="とんかつ弁当" />とんかつ弁当</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="肉野菜炒め定食" />肉野菜炒め定食</td> <td valign="top"><input type="radio" name="food" value="のり弁当" />のり弁当</td> <td valign="top"><input type="radio" name="food" value="ハンバーグセット" />ハンバーグセット</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="ハンバーグ弁当" />ハンバーグ弁当</td> <td valign="top"><input type="radio" name="food" value="ひれカツ定食" />ひれカツ定食</td> <td valign="top"><input type="radio" name="food" value="ポークソテーセット" />ポークソテーセット</td> </tr> <tr> 27 <td valign="top"><input type="radio" name="food" value="幕の内弁当" />幕の内弁当</td> <td valign="top"><input type="radio" name="food" value="焼き魚定食" />焼き魚定食</td> <td valign="top"><input type="radio" name="food" value="焼肉弁当" />焼肉弁当</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="洋食ミックス弁当" />洋食ミックス弁当</td> </tr> </table> <input type="submit" name="submit" value="算出" /> <input type="reset" /> </form> </body></html> menu4(tanaka).html <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"></head> <body bgcolor="#FFCC33" > <form method="GET" action="cal10(tanaka7).php"> <h3 class="cal_h3">麺類</h3> <table cellspacing="0" cellpadding="2" border="1" width="100%" > <tr> <td valign="top"><input type="radio" name="food" value="あんかけ焼きそば" />あんかけ焼きそば</td> <td valign="top"><input type="radio" name="food" value="イカスミパスタ" />イカスミパスタ</td> <td valign="top"><input type="radio" name="food" value="かけうどん" />かけうどん</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="かけそば" />かけそば</td> <td valign="top"><input type="radio" name="food" value="かた焼きそば" />かた焼きそば</td> <td valign="top"><input type="radio" name="food" value="カップヌードル" />カップヌードル</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="かも南蛮そば" />かも南蛮そば</td> <td valign="top"><input type="radio" name="food" value="カルボナーラ" />カルボナーラ</td> <td valign="top"><input type="radio" name="food" value="きつねうどん" />きつねうどん</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="きのこスパゲティ" />きのこスパゲティ</td> <td valign="top"><input type="radio" name="food" value="五目そば" />五目そば</td> <td valign="top"><input type="radio" name="food" value="讃岐うどん" />讃岐うどん</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="ざるうどん" />ざるうどん</td> <td valign="top"><input type="radio" name="food" value="ざるそば" />ざるそば</td> <td valign="top"><input type="radio" name="food" value="塩ラーメン" />塩ラーメン</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="しょうゆラーメン" />しょうゆラーメン</td> <td valign="top"><input type="radio" name="food" value="スパゲティ(ミートソース)" />スパゲティ(ミートソ ース)</td> <td valign="top"><input type="radio" name="food" value="スパゲティー明太子" />スパゲティー明太子</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="そうめん" />そうめん</td> <td valign="top"><input type="radio" name="food" value="たぬきそば" />たぬきそば</td> <td valign="top"><input type="radio" name="food" value="タンタン麺" />タンタン麺</td> 28 </tr> <tr> <td valign="top"><input type="radio" name="food" value="タンメン" />タンメン</td> <td valign="top"><input type="radio" name="food" value="チキンラーメン" />チキンラーメン</td> <td valign="top"><input type="radio" name="food" value="ちゃんぽん" />ちゃんぽん</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="天ぷらうどん" />天ぷらうどん</td> <td valign="top"><input type="radio" name="food" value="天ぷらそば" />天ぷらそば</td> <td valign="top"><input type="radio" name="food" value="とろろそば" />とろろそば</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="とんこつラーメン" />とんこつラーメン</td> <td valign="top"><input type="radio" name="food" value="鍋焼きうどん" />鍋焼きうどん</td> <td valign="top"><input type="radio" name="food" value="焼きそば" />焼きそば</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="ワンタン麺" />ワンタン麺</td> </tr> </table> <input type="submit" name="submit" value="算出" /> <input type="reset" /> </form> </body></html> menu5(tanaka).html <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"></head> <body bgcolor="#FFCC33" > <form method="GET" action="cal10(tanaka7).php"> <h3 class="cal_h3">パン・ピザ</h3> <table cellspacing="0" cellpadding="2" border="1" width="100%" > <tr> <td valign="top"><input type="radio" name="food" value="アメリカンクラブサンド" />アメリカンクラブサンド </td> <td valign="top"><input type="radio" name="food" value="アメリカンドック" />アメリカンドック</td> <td valign="top"><input type="radio" name="food" value="あんパン" />あんパン</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="エッグマフィン" />エッグマフィン</td> <td valign="top"><input type="radio" name="food" value="お好み焼き" />お好み焼き</td> <td valign="top"><input type="radio" name="food" value="カプリチョーザ" />カプリチョーザ</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="コッペパン(100g)" />コッペパン(100g)</td> <td valign="top"><input type="radio" name="food" value="コーンフレーク(100g)" />コーンフレーク (100g)</td> <td valign="top"><input type="radio" name="food" value="食パン1枚" />食パン1枚</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="スコーン" />スコーン</td> <td valign="top"><input type="radio" name="food" value="たまごサンド" />たまごサンド</td> <td valign="top"><input type="radio" name="food" value="ダブルチーズバーガー" />ダブルチーズバーガー</td> </tr> <tr> 29 <td valign="top"><input type="radio" name="food" value="チキンバーガー" />チキンバーガー</td> <td valign="top"><input type="radio" name="food" value="チーズバーガー" />チーズバーガー</td> <td valign="top"><input type="radio" name="food" value="てりやきバーガー" />てりやきバーガー</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="てりやきチキンバーガー" />てりやきチキンバーガー </td> <td valign="top"><input type="radio" name="food" value="トースト・バター" />トースト・バター</td> <td valign="top"><input type="radio" name="food" value="ナン(100g)" />ナン(100g)</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="ハンバーガー" />ハンバーガー</td> <td valign="top"><input type="radio" name="food" value="バターロール1個" />バターロール1個</td> <td valign="top"><input type="radio" name="food" value="ビッグバーガー" />ビッグバーガー</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="ピザトースト" />ピザトースト</td> <td valign="top"><input type="radio" name="food" value="フィッシュバーガー" />フィッシュバーガー</td> <td valign="top"><input type="radio" name="food" value="フランスパン(100g)" />フランスパン(100g)</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="フレンチトースト(2 枚)" />フレンチトースト(2 枚)</td> <td valign="top"><input type="radio" name="food" value="ホットケーキ(2枚)" />ホットケーキ(2枚)</td> <td valign="top"><input type="radio" name="food" value="ホットドック" />ホットドック</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="メロンパン" />メロンパン</td> <td valign="top"><input type="radio" name="food" value="ライスバーガー焼き肉" />ライスバーガー焼き肉</td> </tr> </table> <input type="submit" name="submit" value="算出" /> <input type="reset" /> </form> </body></html> menu6(tanaka).html <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"></head> <body bgcolor="#FFCC33" > <form method="GET" action="cal10(tanaka7).php"> <h3 class="cal_h3">副菜</h3> <table cellspacing="0" cellpadding="2" border="1" width="100%" > <tr> <td valign="top"><input type="radio" name="food" value="揚げ餃子5個" />揚げ餃子5個</td> <td valign="top"><input type="radio" name="food" value="揚げ出し豆腐" />揚げ出し豆腐</td> <td valign="top"><input type="radio" name="food" value="あさりの酒蒸し" />あさりの酒蒸し</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="あじのたたき" />あじのたたき</td> <td valign="top"><input type="radio" name="food" value="厚焼き玉子" />厚焼き玉子</td> <td valign="top"><input type="radio" name="food" value="いか刺身5切れ" />いか刺身5切れ</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="イカフライ小1個" />イカフライ小1個</td> 30 <td valign="top"><input type="radio" name="food" value="ウインナー(100g)" />ウインナー(100g)</td> <td valign="top"><input type="radio" name="food" value="エビシュウマイ3個" />エビシュウマイ3個</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="オニオンリング" />オニオンリング</td> <td valign="top"><input type="radio" name="food" value="オムレツ" />オムレツ</td> <td valign="top"><input type="radio" name="food" value="温泉卵" />温泉卵</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="鰹のたたき" />鰹のたたき</td> <td valign="top"><input type="radio" name="food" value="かに玉" />かに玉</td> <td valign="top"><input type="radio" name="food" value="かぼちゃの煮物" />かぼちゃの煮物</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="クラゲの酢の物" />クラゲの酢の物</td> <td valign="top"><input type="radio" name="food" value="小松菜おひたし" />小松菜おひたし</td> <td valign="top"><input type="radio" name="food" value="小松菜のゴマ和え" />小松菜のゴマ和え</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="焼き鳥(ささみ1本)" />焼き鳥(ささみ1本)</td> <td valign="top"><input type="radio" name="food" value="里芋の煮物" />里芋の煮物</td> <td valign="top"><input type="radio" name="food" value="さやいんげんソテー" />さやいんげんソテー</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="肉シュウマイ5個" />肉シュウマイ5個</td> <td valign="top"><input type="radio" name="food" value="白身魚カルパッチョ" />白身魚カルパッチョ</td> <td valign="top"><input type="radio" name="food" value="水餃子" />水餃子</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="スモークサーモン" />スモークサーモン</td> <td valign="top"><input type="radio" name="food" value="チキンナゲット5個" />チキンナゲット5個</td> <td valign="top"><input type="radio" name="food" value="茶碗蒸し" />茶碗蒸し</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="チーズとトマトの前菜" />チーズとトマトの前菜</td> <td valign="top"><input type="radio" name="food" value="納豆" />納豆</td> <td valign="top"><input type="radio" name="food" value="生春巻き(1本)" />生春巻き(1本)</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="肉じゃが" />肉じゃが</td> <td valign="top"><input type="radio" name="food" value="ハムエッグ" />ハムエッグ</td> <td valign="top"><input type="radio" name="food" value="春雨の和え物" />春雨の和え物</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="バンバンジー" />バンバンジー</td> <td valign="top"><input type="radio" name="food" value="ひじきの煮物" />ひじきの煮物</td> <td valign="top"><input type="radio" name="food" value="冷や奴" />冷や奴</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="ほうれん草のおひたし" />ほうれん草のおひたし</td> <td valign="top"><input type="radio" name="food" value="まぐろの赤身刺身3切れ" />まぐろの赤身刺身3切れ </td> <td valign="top"><input type="radio" name="food" value="まぐろのトロ刺身3切れ" />まぐろのトロ刺身3切れ </td> 31 </tr> <tr> <td valign="top"><input type="radio" name="food" value="玉子焼き" />玉子焼き</td> <td valign="top"><input type="radio" name="food" value="ラタトゥイユ" />ラタトゥイユ</td> <td valign="top"><input type="radio" name="food" value="れんこんのきんぴら" />れんこんのきんぴら</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="わかさぎの天ぷら5尾" />わかさぎの天ぷら5尾</td> </tr> </table> <input type="submit" name="submit" value="算出" /> <input type="reset" /> </form> </body></html> menu7(tanaka).html <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"></head> <body bgcolor="#FFCC33" > <form method="GET" action="cal10(tanaka7).php"> <h3 class="cal_h3">汁物</h3> <table cellspacing="0" cellpadding="2" border="1" width="100%" > <tr> <td valign="top"><input type="radio" name="food" value="あさりの味噌汁" />あさりの味噌汁</td> <td valign="top"><input type="radio" name="food" value="カップコーンスープ" />カップコーンスープ</td> <td valign="top"><input type="radio" name="food" value="かぼちゃポタージュ" />かぼちゃポタージュ</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="牛肉入り春雨スープ" />牛肉入り春雨スープ</td> <td valign="top"><input type="radio" name="food" value="クラムチャウダー" />クラムチャウダー</td> <td valign="top"><input type="radio" name="food" value="クリームシチュー" />クリームシチュー</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="豆腐の味噌汁" />豆腐の味噌汁</td> <td valign="top"><input type="radio" name="food" value="トムヤムクン" />トムヤムクン</td> <td valign="top"><input type="radio" name="food" value="豚汁" />豚汁</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="春雨スープ" />春雨スープ</td> <td valign="top"><input type="radio" name="food" value="ブイヤベース" />ブイヤベース</td> <td valign="top"><input type="radio" name="food" value="ポトフ" />ポトフ</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="ミネストローネ" />ミネストローネ</td> <td valign="top"><input type="radio" name="food" value="ワンタンスープ" />ワンタンスープ</td> </tr> </table> <input type="submit" name="submit" value="算出" /> <input type="reset" /> </form> </body></html> 32 menu8(tanaka).html <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"></head> <body bgcolor="#FFCC33" > <form method="GET" action="cal10(tanaka7).php"> <h3 class="cal_h3">サラダ</h3> <table cellspacing="0" cellpadding="2" border="1" width="100%" > <tr> <td valign="top"><input type="radio" name="food" value="温野菜サラダ" />温野菜サラダ</td> <td valign="top"><input type="radio" name="food" value="海藻のサラダ" />海藻のサラダ</td> <td valign="top"><input type="radio" name="food" value="グリーンサラダ" />グリーンサラダ</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="コールスローサラダ" />コールスローサラダ</td> <td valign="top"><input type="radio" name="food" value="コーンサラダ" />コーンサラダ</td> <td valign="top"><input type="radio" name="food" value="ごぼうサラダ" />ごぼうサラダ</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="ツナサラダ" />ツナサラダ</td> <td valign="top"><input type="radio" name="food" value="ポテトサラダ" />ポテトサラダ</td> <td valign="top"><input type="radio" name="food" value="マカロニサラダ" />マカロニサラダ</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="マッシュポテト" />マッシュポテト</td> </tr> </table> <input type="submit" name="submit" value="算出" /> <input type="reset" /> </form> </body></html> menu9(tanaka).html <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"></head> <body bgcolor="#FFCC33" > <form method="GET" action="cal10(tanaka7).php"> <h3 class="cal_h3">デザート</h3> <table cellspacing="0" cellpadding="2" border="1" width="100%" > <tr> <td valign="top"><input type="radio" name="food" value="アイスクリーム" />アイスクリーム</td> <td valign="top"><input type="radio" name="food" value="杏仁豆腐" />杏仁豆腐</td> <td valign="top"><input type="radio" name="food" value="エクレア" />エクレア</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="オレンジゼリー" />オレンジゼリー</td> <td valign="top"><input type="radio" name="food" value="カステラ(100g)" />カステラ(100g)</td> <td valign="top"><input type="radio" name="food" value="草餅" />草餅</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="ゼリー(コーヒー)(100g)" />ゼリー(コーヒ ー)(100g)</td> <td valign="top"><input type="radio" name="food" value="白玉クリームあんみつ" />白玉クリームあんみつ</td> <td valign="top"><input type="radio" name="food" value="ソフトクリーム" />ソフトクリーム</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="大福" />大福</td> 33 <td valign="top"><input type="radio" name="food" value="チョコレート(100g)" />チョコレート(100g)</td> <td valign="top"><input type="radio" name="food" value="チーズケーキ" />チーズケーキ</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="ティラミス" />ティラミス</td> <td valign="top"><input type="radio" name="food" value="どら焼き" />どら焼き</td> <td valign="top"><input type="radio" name="food" value="ドーナツ" />ドーナツ</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="アイスバニラ" />アイスバニラ</td> <td valign="top"><input type="radio" name="food" value="バニラシェイク" />バニラシェイク</td> <td valign="top"><input type="radio" name="food" value="プリンアラモード" />プリンアラモード</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="ポップコーン(100g)" />ポップコーン(100g)</td> <td valign="top"><input type="radio" name="food" value="ポテトチップス(100g)" />ポテトチップス (100g)</td> <td valign="top"><input type="radio" name="food" value="マンゴープリン" />マンゴープリン</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="みたらしだんご" />みたらしだんご</td> <td valign="top"><input type="radio" name="food" value="モンブラン" />モンブラン</td> <td valign="top"><input type="radio" name="food" value="八つ橋(あん入り)(100g)" />八つ橋(あん入 り)(100g)</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="ようかん(100g)" />ようかん(100g)</td> <td valign="top"><input type="radio" name="food" value="りんごのタルト" />りんごのタルト</td> <td valign="top"><input type="radio" name="food" value="ワッフル(100g)" />ワッフル(100g)</td> </tr> </table> <input type="submit" name="submit" value="算出" /> <input type="reset" /> </form> </body></html> menu10(tanaka).html <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"></head> <body bgcolor="#FFCC33" > <form method="GET" action="cal10(tanaka7).php"> <h3 class="cal_h3">飲み物</h3> <table cellspacing="0" cellpadding="2" border="1" width="100%" > <tr> <td valign="top"><input type="radio" name="food" value="アイスカフェオレ" />アイスカフェオレ</td> <td valign="top"><input type="radio" name="food" value="オレンジジュース" />オレンジジュース</td> <td valign="top"><input type="radio" name="food" value="カフェオレ" />カフェオレ</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="カプチーノ" />カプチーノ</td> <td valign="top"><input type="radio" name="food" value="ミルク" />ミルク</td> <td valign="top"><input type="radio" name="food" value="ココア" />ココア</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="コーヒーフロート" />コーヒーフロート</td> 34 <td valign="top"><input type="radio" name="food" value="コーラ" />コーラ</td> <td valign="top"><input type="radio" name="food" value="ジンジャーエール" />ジンジャーエール</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="スポーツドリンク" />スポーツドリンク</td> <td valign="top"><input type="radio" name="food" value="炭酸飲料" />炭酸飲料</td> <td valign="top"><input type="radio" name="food" value="ホットチョコレート" />ホットチョコレート</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="ミルクティー" />ミルクティー</td> <td valign="top"><input type="radio" name="food" value="野菜ジュース" />野菜ジュース</td> <td valign="top"><input type="radio" name="food" value="ロイヤルミルクティー" />ロイヤルミルクティー</td> </tr> </table> <input type="submit" name="submit" value="算出" /> <input type="reset" /> </form> </body></html> menu11(tanaka).html <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"></head> <body bgcolor="#FFCC33" > <form method="GET" action="cal10(tanaka7).php"> <h3 class="cal_h3">つまみ</h3> <table cellspacing="0" cellpadding="2" border="1" width="100%" > <tr> <td valign="top"><input type="radio" name="food" value="あんこうのきも(100g)" />あんこうのきも (100g)</td> <td valign="top"><input type="radio" name="food" value="いかの塩辛(100g)" />いかの塩辛(100g)</td> <td valign="top"><input type="radio" name="food" value="いたわさ" />いたわさ</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="カシューナッツ(100g)" />カシューナッツ (100g)</td> <td valign="top"><input type="radio" name="food" value="かにかまぼこ(100g)" />かにかまぼこ(100g)</td> <td valign="top"><input type="radio" name="food" value="皮付きポテト4・5個" />皮付きポテト4・5個</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="魚肉ソーセージ(100g)" />魚肉ソーセージ (100g)</td> <td valign="top"><input type="radio" name="food" value="ぎんなん(100g)" />ぎんなん(100g)</td> <td valign="top"><input type="radio" name="food" value="するめ(100g)" />するめ(100g)</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="たこ焼き" />たこ焼き</td> <td valign="top"><input type="radio" name="food" value="ちくわ(100g)" />ちくわ(100g)</td> <td valign="top"><input type="radio" name="food" value="チーズ盛り合わせ" />チーズ盛り合わせ</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="手羽先" />手羽先</td> <td valign="top"><input type="radio" name="food" value="鶏の唐揚げ" />鶏の唐揚げ</td> <td valign="top"><input type="radio" name="food" value="はんぺん(100g)" />はんぺん(100g)</td> </tr> <tr> 35 <td valign="top"><input type="radio" name="food" value="バターコーン" />バターコーン</td> <td valign="top"><input type="radio" name="food" value="ビーフジャーキー(100g)" />ビーフジャーキー (100g)</td> <td valign="top"><input type="radio" name="food" value="ピスタチオ(100g)" />ピスタチオ(100g)</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="ピータン" />ピータン</td> <td valign="top"><input type="radio" name="food" value="フライドチキン3個" />フライドチキン3個</td> <td valign="top"><input type="radio" name="food" value="マカダミアナッツ(100g)" />マカダミアナッツ (100g)</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="めんたいこ(100g)" />めんたいこ(100g)</td> <td valign="top"><input type="radio" name="food" value="焼きおにぎり" />焼きおにぎり</td> <td valign="top"><input type="radio" name="food" value="ユッケ" />ユッケ</td> </tr> </table> <input type="submit" name="submit" value="算出" /> <input type="reset" /> </form> </body></html> menu12(tanaka).html <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"></head> <body bgcolor="#FFCC33" > <form method="GET" action="cal10(tanaka7).php"> <h3 class="cal_h3">酒</h3> <table cellspacing="0" cellpadding="2" border="1" width="100%" > <tr> <td valign="top"><input type="radio" name="food" value="ウイスキー(ダブル 1 杯)" />ウイスキー(ダブル 1 杯)</td> <td valign="top"><input type="radio" name="food" value="ウイスキー(シングル30ml)" />ウイスキー(シング ル30ml)</td> <td valign="top"><input type="radio" name="food" value="カルアミルク" />カルアミルク</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="サワー" />サワー</td> <td valign="top"><input type="radio" name="food" value="シャンパン(グラス1杯80ml)" />シャンパン(グラ ス1杯80ml)</td> <td valign="top"><input type="radio" name="food" value="紹興酒(1合80ml)" />紹興酒(1合80ml)</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="焼酎(コップ1)" />焼酎(コップ1)</td> <td valign="top"><input type="radio" name="food" value="ジンライム" />ジンライム</td> <td valign="top"><input type="radio" name="food" value="スクリュードライバー" />スクリュードライバー</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="ドライマティーニ" />ドライマティーニ</td> <td valign="top"><input type="radio" name="food" value="生ビール(大ビン1本)" />生ビール(大ビン1本)</td> <td valign="top"><input type="radio" name="food" value="生ビール(中ジョッキ)" />生ビール(中ジョッ キ)</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="生ビール(ロンググラス 250ml)" />生ビール(ロン 36 ググラス250ml)</td> <td valign="top"><input type="radio" name="food" value="日本酒(とっくり1 本コップ1 杯)" />日本酒(とっ くり1本コップ1杯)</td> <td valign="top"><input type="radio" name="food" value="バーボン(シングル 30cc)" />バーボン(シングル 30cc)</td> </tr> <tr> <td valign="top"><input type="radio" name="food" value="ブランデー(シングル30cc)" />ブランデー(シング ル30cc)</td> <td valign="top"><input type="radio" name="food" value="老酒(100ml)" />老酒(100ml)</td> <td valign="top"><input type="radio" name="food" value=" グラスワイン(120ml)" /> グラスワイン (120ml)</td> </tr> </table> <input type="submit" name="submit" value="算出" /> <input type="reset" /> </form> </body></html> calendar(tanaka).php <?php require_once 'Calendar/Day.php'; require_once 'Calendar/Month/Weekdays.php'; $Month = new Calendar_Month_Weekdays(date('Y'), date('n'), 0); // マークしたい日付の作成 $Today = new Calendar_Day(date('Y'),date('n'),date('j')); $selection = array($Today); // カレンダーオブジェクトを初期化 $Month->build($selection); // カレンダー出力開始 echo $Month->thisMonth()."月のカレンダー<hr>"; echo "<table>¥n"; while($Day = $Month->fetch()){ // 週の最初の場合 if ($Day->isFirst()){ echo "<tr>¥n"; } // 日付が入っていない場合 if($Day->isEmpty()){ echo "<td> </td>¥n"; // 日付が入っている場合 }else{ // 色の設定 if($Day->isFirst()){ $color = "blue"; }elseif($Day->isLast()){ $color = "red"; }else{ $color = "black"; } // unixタイムスタンプ形式の値を取得 $time = $Day->thisDay("timestamp"); $day = date("j",$time); $ymd = date("Ymd",$time); 37 // マークされた日付かどうか? if($Day->isSelected()){ echo "<td style=¥"color:$color;font-weight:bolder¥" align=right>$day</td>¥n"; }else{ echo "<td align=right><a href=¥"?d=$ymd¥" style=¥"color:$color¥">$day</a></td>¥n"; } } // 週の最後の場合 if($Day->isLast()){ echo "</tr>¥n"; } } echo "</table>¥n"; ?> 38
© Copyright 2024 Paperzz