1

私はクライアント用の Web アプリを構築しており、システムの最初のドラフトがほぼ完成した段階にありますが、最終的な問題に直面し、自分の快適ゾーンから抜け出すことができました。

このページは、SQL クエリを介してデータをフィルター処理するために 3 つの変数で GET 要求を使用することによって機能します。これらの変数 s、p、および g は、フォームの送信時に URL に渡され、検索を実行します。スライダーを切り替えようとするたびに、?s パラメータが URL から削除され、クエリが壊れる (何らかの理由で s が送信されない) ことを除いて、すべて正常に動作します。該当ページはこちら

GET 変数 & クエリ -

$pType = $_GET['s'];

$pVal = $_GET['p'];
$gVal = $_GET['g'];


$sql = "SELECT * FROM pumps 
        WHERE pump_type='$pType'
        AND flow_psi <= '$pVal'
        AND flow_gpm <= '$gVal'
        AND high_psi <= '$pVal'
        AND high_gpm <= '$gVal'";

形 -

  <form id="pumpSlider" action="<?php echo $_SERVER['PHP_SELF']; ?>?s=<?php echo $pType ?>&p=<?php echo $pVal ?>&g=<?php echo $gVal ?>" method="get" align="center">
       <div class="btn-group" data-toggle="buttons-radio">
          <button type="submit" class="<?php if( $pType == 'intermittent' ){ echo 'active '; } ?>btn btn-primary waitingUiBut" id="but1" name="s" value="intermittent">INTERMITTENT</button>
          <button type="submit" class="<?php if( $pType == 'continuous' ){ echo 'active '; } ?>btn btn-primary waitingUiBut" id="but4" name="s" value="continuous">CONTINUOUS</button>  
       </div>


      <div align="center" class="productSlider">
           <p class="inlineLabel">PSI</p><div class="filterSlider" id="psiSlider"></div>
           <p class="inlineLabel">GPM</p><div class="filterSlider" id="gpmSlider"></div>

           <input id="pS" type="hidden" name="p" value="<?php echo $pVal ?>" />
           <input id="gS" type="hidden" name="g" value="<?php echo $gVal ?>" />
      </div>
 </form>

最後に、基本的な JavaScript を使用して、スライダーの値が変更されたときにフォームの送信イベントを処理しました。

    $(document).ready(function() {
    $("#psiSlider" ).slider({
              // options
              start: function (event, ui) {
                  // code

                },
                slide: function( event, ui ) {
                  var curValue = ui.value || initialValueA;
                  var target = ui.handle || $('.ui-slider-handle');                                     
                  var tooltip = '<div class="tooltip"><div class="tooltip-inner">' + curValue + '</div><div class="tooltip-arrow"></div></div>';
                  $(target).html(tooltip);


                  var valA = $('#psiSlider').slider("value");
                  document.getElementById('pS').value = valA;   
                  var valB = $('#gpmSlider').slider("value");
                  document.getElementById('gS').value = valB;                   

                },
                change: function(event, ui) {
                  var val = $('#pS').slider("value");
                  var val = $('#gS').slider("value");
                  $('#pumpSlider').submit();
                }
           });
        });

私はアイデアに完全に困惑しています。誰かが意見を持っていれば、私は最も感謝しています、ありがとう.

4

1 に答える 1