こんにちは、必要な情報を含むいくつかのテーブルがあり、正しい結果を生成する SQL クエリを作成しました。問題は、if then ステートメントを実行したいテーブル列がいくつかあることです。例:
りんご: 25:15.00,50:10.00,100:0.00
これは、最大 25 個のリンゴで送料 15.00、最大 50 個で送料 10.00 などと表示されます。
オレンジ: 15.00 15 の均一料金を請求します。
バナナ: 0.00 無料
したがって、基本的には、テーブルレートのすべてのインスタンスで preg_split() を実行し、それらすべての値をフラットレートと同じように追加できるようにしたいと考えています。次に、テーブル レートとフラット レート グループの両方を一緒に追加して、適切な送料見積もりを作成します。
したがって、リンゴ 50 個、オレンジ 1000 個、バナナ 75 個を注文した場合、送料の合計は 25.00 と計算されます。
テーブルレートの各インスタンスで実行したいコードが既にあります
$table_cost = preg_split("^[:,]^" , $rate );
$size = sizeof($table_cost);
for ($i=0, $n=$size; $i<$n; $i+=2) {
if ($order_total <= $table_cost[$i]) {
$var = $table_cost[$i+1];
}
}
$rate は、クエリが生成するテーブル レートの変数です。 $order_total は、製品の数量、価格、または重量の変数です。簡単にするために、この質問には qty を使用します。