2016-05-08 28 views
-1

私には奇妙な質問がありますが、答えが見つからないことはおそらく不可能です。私が尋ねる理由は、私が食品配送ウェブサイトを作成していることです。私のウェブサイトの管理パネルで、管理者はレストランの詳細とメニューを入力できます。詳細の一部は、顧客が配送のためにチェックアウトする前にどれくらい費やす必要があるかです。チェックアウトボタンを無効にしたいと思っていますが、最低注文料金を満たしたときにボタンが有効になります。javascript/jqueryとmysql/phpを組み合わせることは可能ですか

これは私が初めてこのようなことをしようとしています。私はすべて見てきました。特定のイベントがjavascriptまたはjQueryを使用して行われたときにボタンをアクティブにする方法を投稿またはチュートリアルで見つけることができます。 DBから最低注文料金を得る必要があります。 唯一の論理的な答えは、それらを組み合わせることです。

私は... thisに似た何かを達成するために

ショッピング

をしようとしています、私はこれを行うためのチュートリアルに従って、それが同じページ上にあるミニ固定ショッピングカート、ありますショッピングカート。 product_page.phpからshopping_cart.phpにリダイレクトされます。 product_page.phpの大部分は動的に作成されます。

  mysqli_stmt_execute($runn_query); 
      while ($get_row = mysqli_fetch_array($runn_query)) { 
      echo "<div id='prods_ere'>"; 
       $item_sub = $get_row['Product_Price'] * $value; 
       echo $value . ' x ' .$get_row['Product_Name']. ' @ &pound;' . $get_row['Product_Price'] . '<a id="minus" class="buttons" href="Shopping_cart.php?remove=' . $Product_Id . '">-</a> <a id="plus" class="buttons" href="Shopping_cart.php?add_item=' . $Product_Id . '"> + </a> <a id="del" class="buttons" href="Shopping_cart.php?delete=' . $Product_Id . '">&#10006;</a> </br><p id="sub">&pound;' . $item_sub . '</p>'; 
       echo "<br>"; 
       echo "<br>"; 
       echo "<hr id='shopp_dashed'>"; 
       echo "</div>"; 
      } 
     } 
     //creating subtotal 
     $sub_total += $item_sub; 
     $num_items += $value; 
     $total += $sub_total; 
    } 
} 

//subtotal and empty cart message 
if ($sub_total == 0) { 
    echo "Ouch.. its empty in here"; 
} else { 
    echo "<div id='grey'>"; 
    echo"Subtotal (excl delivery)"; 
    echo "<br/>"; 
    echo "<div id='sub_t'>"; 
    echo '&pound;' . number_format($sub_total, 2); 
    echo "</div>"; 
    echo "<br/>"; 
    echo"Items"; 
    echo "<br/>"; 
    echo "$num_items"; 
    echo "<br/>"; 
    echo "</div>"; 


    echo "<div id='total'>"; 
    echo"Total: &nbsp;"; 
    echo "$total"; 
    echo "</div>"; 

    } 

製品ページ

 <div id="prods_here"> 
      <!-- PLACE PRODUCTS HERE--> 
     <?php cart(); ?> 
     </div> 
+4

*** "私は答えが見つからない、おそらくそれは不可能であることを意味する" ***あなたは非常に自信があります... –

+0

@PedroLobito LOL自信がないだけ論理 – jerneva

+1

あなたが必要ですAJAXについて学ぶ。 – SLaks

答えて

1

まあ、私が言って、あなたが顧客の注文を追跡しているかどうかはわかりませんが、あなたはカウンターでそれを追跡しているとしましょう、totalOrderAmt。注文を変更している間、これを更新してページに条件を追加すると、totalOrderAmt> = checkOutAmtのときにcheckOutボタンが有効になります。

いくつかのコードを投稿すると詳細を追加できます。この例では

<html> 
<head> 
    ... 
</head> 
<body> 
    <h1>Restaurant X</h1> 
    <p>Minimum order: <span id="_restaurantMinimumOrder"></span></p> 
    <input id="submit" type="submit" class="disabled" value="Checkout" disabled> 

    <script type="text/javascript"> 
    <?php 
    echo "window.RestaurantDetails = {}"; 
    echo "window.RestaurantDetails.minimum = $RestaurantMinimumOrder"; 
    ?> 
    </script> 
</body> 
</html> 

$RestaurantMinimumOrder:あなたがPHPを使用している場合

+0

それはある意味がありますが、まだ少し混乱しています。私はいくつかのコードを今すぐ追加する – jerneva

+0

コードが追加されます。できるだけ短くするようにしました – jerneva

+1

私はあなたのコードを上記の@ManBearPixelと組み合わせるつもりです。 $ RestaurantMinimumOrderがチェックアウトの対象となる最小注文を表し、$ total(コードから)が顧客注文の合計を表す場合、jQueryを使用してボタンをトリガーする条件は$ total> $ RestaurantMinimumOrderです。ページを更新するたびに、$ totalを更新し、上記の条件を評価します。 – rhcw

1

あなたは基本的にはJavaScriptが残りを処理するためにDOMのminimum_order_price変数を利用できるようになり、各店舗ページ上のJavaScriptオブジェクトを読み込むことができますPHPで設定してセットアップするものです(設定が何であるかはわかりませんので、変数名を使用しています)。そこからページがサーバから解析されると、PHPはそのJavaScriptをエコーアウトします。ページが読み込まれると、他のJavaScriptが使用できるようにwindow.RestaurantDetailsが利用可能になります。あなたはjQueryのを使用している場合は、あなたが簡単にあなたが設定しているものは何でも、論理フローに基づいて送信ボタンの状態を調整することができ、ここから

<script type="text/javascript"> 
    // set price on the DOM 
    var priceEl = document.getElementById('_restaurantMinimumOrder'); 
    priceEl.textContent = window.RestaurantDetails.minimum; 

    // ensure submit button is disabled initially 
    var submitEl = document.getElementById('submit'); 
    submitEl.disabled = true; 
</script> 

:私はまた、実装例を含めました。あなたに質問がある場合はお知らせください。運が良かった!乾杯〜

+1

'$ .ajax'を結んでレストラン情報を取得することもできますが、リクエストを待つのではなく、ページの読み込み時にその情報を利用できるようにしたい場合は、遅いですが、必ずしもコントロール可能ではありません)、それをページに印刷してDOM上で利用できるようにすることができます。 – ManBearPixel

+0

ああすごい素晴らしい。私は今までにそれを使用したことがないので、今私はアヤックスで準備ができています。どうもありがとうございます。私はこれに従い、うまくいけば私の問題を解決する – jerneva

+1

あなたがもっと助けが必要な場合は私に知らせてくださいが、障壁として問題を見ないでください!それを成長する機会として見てください。 – ManBearPixel

関連する問題