アプリ版:「スタンプのみでお礼する」機能のリリースについて

あまりに初歩的過ぎたらごめんなさい。
輸入雑貨の紹介ホームページを作成しているのですが

----------------例----------------------

A商品
 10$(950円)

B商品
  5$(475円)

C商品
  12$(1140円)

※但し1$=95円の場合

----------------例ここまで----------------------

こんなページを十数ページ作ろうとしています。
レートが変更になる度に、
数十個の (○○○円)の ○○部分を計算し、
各ぺージの 1$=○○円の場合 の記述の○○部分を変更しなければなりません。

この変更する値を一括して反映・計算できるような方法は無いでしょうか?


HPを1から製作するのは初めてで、これまではブログやワードプレスのHTMLをちょこちょこ改編して利用していた程度です。 
宜しくお願いします。

A 回答 (3件)

やり方は、いろいろとありますが、動的に変更したい場合は何らかの「プログラミング言語」を使う事になります。



一番ポピュラーだと思うのは「PHP」で、タダの計算だとそんなに難しい事でもないのですが、これをその都度変わるレートを読み取り自動的にその時のレートで計算しようとすると大変な事になります。

1日1回、(朝にでも)人手でレートを入力し、「○月○日○時のレート」とかってやるのが、妥当だと思うのですが・・・
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
PHPはワードプレスで良く使われているので「なんでHTMLじゃないんだろう」なんて思ってましたが、調べると計算以外にも凄く便利ですね。
特にヘッダーやフッターなどのパーツををバラバラに作っておいて、全部のページに簡単に張り付けられるのは編集の手間が大幅に省けて良さそうです。
でも、オフラインでプレビューするのが凄く大変そうなので、今回はjavaスクリプトを勉強してみます。
ありがとうございました。

お礼日時:2013/03/24 17:43

普通に作るHTMLは表示、レイアウトは変更できても「計算」となると話は別です。



相手側のパソコンのブラウザで計算させる方法だと
「JavaScript」をHTMLの中に記述します。
○と×
 ○多少プログラミングを学べばできます。 
 ○ご自分のブラウザですぐ結果を確認できます。
 ×「JavaScript」に対応していない携帯等のブラウザでは表示できません。
 ×ページ毎にスクリプトを作る必要があります。
 …等
http://www.hakko.co.jp/javascript/kantan0101.htm

この他にサーバー側で計算させる「CGI」があります。
掲示板等がこのたぐいですね。
○と×
 ○データファイルを更新すれば何ページに渡ろうが計算してくれます。
 ○検索や並び替え、カテゴリー等条件に合ったものを絞り込むことができます。
 ○携帯でも表示できます。
 ×プログラムや属性等をある程度学ばなければなりません。
 ×サーバーにアップしなければ結果が確認できません。
 …等
http://www.aimix.jp/cgi/syohokkeisan.html

この回答への補足

PHPは知っておけばヘッダーをページ毎にコピペする手間も減るから、この際に勉強しようと思ったのですが、オフラインでは確認できないようなので、今回はJavaScriptに挑戦しました。ガラケーは非対応でもアイフォンやアンドロイドでは対応してそうですし。
参考URLありがとうございました。

早速作ってみたのが

<SCRIPT LANGUAGE="JavaScript">
var datA, datB, datC, datD, datE, datV, datW, datX, datY, datZ, datN,
 datN = 95;
datA = 14.8;
datB = 25;
datC = 40.5;
datD = 48.8;
datE = 60;

datV = datA * datN;
datW = datB * datN;
datX = datC * datN;
datY = datD * datN;
datZ = datE * datN;

document.write("A商品 "+ datA +"$ ("+ datV +"円)<BR>");
document.write("B商品 "+ datB +"$ ("+ datW +"円)<BR>");
document.write("B商品10個 "+ datC +"$ ("+ datX +"円)<BR>");
document.write("D商品 "+ datD +"$ ("+ datY +"円)<BR>");
document.write("E商品 "+ datE +"$ ("+ datZ +"円)<BR><br><br>");


document.write("※1$="+ datN +"円の場合<BR>");

</SCRIP
です。

で出力されたのが

----------------------------------
A商品 14.8$ (1406円)
B商品 25$ (2375円)
B商品10個 40.5$ (3847.5円)
D商品 48.8$ (4636円)
E商品 60$ (5700円)


※1$=95円の場合
---------------------------------

と出ます。

新たな欲求として、文字を揃えたいのですが…
商品名は  を使った空白で調整するとして、
計算結果を全て 15.00のように小数点第一か第二までに揃えて表示する事は可能でしょうか?

補足日時:2013/03/24 17:39
    • good
    • 0

回答者No.2です。


長いこと放置していてすみません(^^;)。
解決はできたでしょうか。

小数点以下の数を指定することはできます。
簡単な方法はdocument.writeのところで
「data.toFixed(2)」とすれば、小数点2桁まで表示してくれます。
カッコ内の「2」と言うのが桁数です。
サンプルでは小数点以下が2桁以上出ないので確実ですが、
小数点がたくさん出てしまうような計算の場合、ブラウザの違いで
四捨五入が変わってしまうことがあるので、その時は、またここで
ご質問なさったら、と思います。

ちなみに、整数部の桁合わせはしたことがないので、良く分かりません。
if文を使って100以上なら、1000以上なら、スペースを入れる等の方法が
あるとは思いますが、ひとつひとつ入れるのは面倒ですね…。
    • good
    • 0

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