2011-12-31 9 views
-2

私はユーザが入力したデータを取得し、それをMySQLデータベースに投稿するPHPフォームを持っています。私は、2つのフィールド間の数学的な違いをデータベースの第3フィールドにどのように取り込むことができるか、知りたいですか?例えばPHP/MySQLの数学の基本的な例

、私は「show_1_price」から「travel_costs」を減算し、「TOTAL_COST」変数に違いを書きたいと思います。これを行う最善の方法は何ですか?本当にありがとう。

+0

変数のデータ型は何ですか?整数か小数?まだ何か試しましたか? – Robert

+0

INT。はい、私は "$ total_cost = $ show_1_price - $ travel_costs;"のようなことをやってみました。私のinsert.phpファイルでは動作しません。 – ISOcrates

答えて

0

最近選択クエリを処理することができます。SELECT show_1_price - travel_costs AS pricesiff FROM my_table;で値を格納するために悪い形ですが、その後、PHPで値を取得して、再度挿入クエリを実行...

+0

この場合、行を挿入するときにSELECTを行う理由は何ですか? –

+0

ノービッシュソリューション)) –

0

は、一般的に、物事のPHP側でどの程度

query=sprintf("INSERT INTO table VALUES(%d, %d, %d)", travel_costs, 
show_1_price, show_1_price - travel_cost); 

を行うには簡単であるべき他の値から計算できるデータベース。この値に再びアクセスすることはできませんが、そのためにストレージを使用しているからです。 CPUサイクルは今日よりはるかに豊富ですので、必要に応じて値を計算してください。しかし、これはゴールデンルールではありません。計算された値を保存する方が効率的な場合がありますが、これは通常そうではありません。

+1

ありがとう、これを試してみます。だから、データベースに実際の値を書き込むのではなく、何らかの式を使ってフィールドを動的に計算する方が良いと言っていますか?残念ながら、理解しようとしています – ISOcrates

+1

@ ISOcrates正確に - 値は既存の列から計算できるので、必要なときに計算できます。たとえば、SELECT travel_costs、show_1_price、show_1_price - travel_cost AS total_cost FROM my_table; –

+0

ここで私が働いているものを正確に貼り付けています:http://pastie.org/3099546 「show_1_price」と「travel_costs」の入力データの差をデータベースの「total_costs」フィールドに投稿するには、insert.phpに何を追加できますか?私は物事を行う最も効率的な方法ではないことを知っていますが、それは私の現在のニーズのために働くでしょう。 – ISOcrates

関連する問題