2017-08-24 18 views
0

ユーザーが選択したクエリに基づいてコードを簡略化したいJavaScript - ドロップダウンから特定のクエリを実行するにはどうすればよいですか?

ユーザーは初めてこのページからページを訪れたときにこのクエリからBase + group byに基づいてクエリを表示します。しかし、次の、彼らは下のドロップダウンリストから見たいものをデータを決めることができ

//Base 
    $Material = "SELECT MATERIAL, COUNT(MATERIAL) AS 'TOTAL' FROM `khitable` "; 
    $StorageLocation = "SELECT SLOC ,COUNT(SLOC) AS 'TOTAL' FROM `khitable`"; 
    $VerifStock = "SELECT VERIF_STOCK ,COUNT(VERIF_STOCK) AS 'TOTAL' FROM `khitable`"; 

    //Tipe Pipa 
    $ERW = "WHERE MATERIAL LIKE '%ER%'"; 
    $SP = "WHERE MATERIAL LIKE '%SP%'"; 
    $ACC = "WHERE MATERIAL LIKE '%ACC%'"; 

    //Status Pengerjaan 
    $FG = "AND MATERIAL NOT LIKE '%SF-%'"; 
    $WIP = "AND MATERIAL LIKE '%SF-%'"; 

    //Ketersediaan 
    $SO = "AND SO_NUMBER NOT LIKE '%605%'"; 
    $Buffer = "AND SO_NUMBER LIKE '%605%'"; 
    $FS = "AND MATERIAL LIKE '%-FS%"; 

    //Group By 
    $GroupMaterial = "GROUP BY MATERIAL"; 
    $GroupSLOC = "GROUP BY SLOC"; 
    $GroupVerifStock = "GROUP BY VERIF_STOCK"; 

と次のユーザーは、下のドロップダウンリストから表示するようにどのようなデータを選択することができる可能性が

<div class="row"> 
    <div class="input-field col s4">  
    <select class="validate"> 
     <option value="" disabled selected>Pilih pilihan anda</option> 
     <option value="1">Finish Good</option> 
     <option value="2">Semi Finish (WIP)</option> 
    </select> 
    <label >Pilih Berdasarkan Status Pengerjaan</label> 
    </div> 
    <div class="input-field col s4">  
    <select class="validate"> 
     <option value="" disabled selected>Pilih pilihan anda</option> 
     <option value="1">Sales Order</option> 
     <option value="2">Buffer</option> 
     <option value="3">Free Stock</option> 
    </select> 
    <label >Pilih Berdasarkan Status Ketersediaan</label> 
    </div> 
</div> 

2つのドロップダウンがあり、ユーザーはドロップダウンリストで選択した内容に基づいて表示されます。私がまだ理解していないことは、私のコードでそうすることです。誰にも助けてくれてありがとう。

p.s. :データは、クエリが示された内容に基づいて、データベースから見たと仮定して

+0

フォームフィールドは表示されますが、フォーム要素は表示されません。ユーザーがフォームを送信しているのですか、またはjavacriptを使用してさらにアクションを呼び出していますか? – Scuzzy

+0

jqueryのドロップダウン変更イベントを使用して、ajaxで渡された選択値に応じてPHPファイルファイアクエリ内でphpファイルを呼び出すajaxを実行します。 –

+0

あなたは質問を発生させ、値をajaxに渡す例を挙げることができますか?私はここで全く新しいです –

答えて

0

PHP:

//Base 
$select["Material"] = "SELECT MATERIAL, COUNT(MATERIAL) AS 'TOTAL' FROM `khitable` "; 
$select["StorageLocation"] = "SELECT SLOC ,COUNT(SLOC) AS 'TOTAL' FROM `khitable`"; 
$select["VerifStock"] = "SELECT VERIF_STOCK ,COUNT(VERIF_STOCK) AS 'TOTAL' FROM `khitable`"; 

//Tipe Pipa 
$where["ERW"] = "WHERE MATERIAL LIKE '%ER%'"; 
$where["SP"] = "WHERE MATERIAL LIKE '%SP%'"; 
$where["ACC"] = "WHERE MATERIAL LIKE '%ACC%'"; 

//Status Pengerjaan 
$and1["FG"] = "AND MATERIAL NOT LIKE '%SF-%'"; 
$and1["WIP"] = "AND MATERIAL LIKE '%SF-%'"; 

//Ketersediaan 
$and2["SO"] = "AND SO_NUMBER NOT LIKE '%605%'"; 
$and2["Buffer"] = "AND SO_NUMBER LIKE '%605%'"; 
$and2["FS"] = "AND MATERIAL LIKE '%-FS%"; 

//Group By 
$group["GroupMaterial"] = "GROUP BY MATERIAL"; 
$group["GroupSLOC"] = "GROUP BY SLOC"; 
$group["GroupVerifStock"] = "GROUP BY VERIF_STOCK"; 

$query = $select[$_GET["query_select"]]." ". 
     $where[$_GET["query_where"]]." ".$and1[$_GET["query_and1"]]. 
     " ".$and1[$_GET["query_and2"]]." ".$group[$_GET["query_group"]]; 

HTML:私はあなたのアイデアに例以下

+0

とオプションを選んでいなくても可能ですか? –

+0

はい、空の文字列として表示されます。正しい$ queryを構築するために選択されなければならない '' – diavolic

0

チェックを理解してほしい

<form action="yourscript.php" method="get"> 
<!-- here is your form elements for material,storagelocation etc --> 
    ................. 
<div class="row"> 
    <div class="input-field col s4">  
    <select class="validate" name="query_and1"> 
     <option value="" disabled selected>Pilih pilihan anda</option> 
     <option value="FG">Finish Good</option> 
     <option value="WIP">Semi Finish (WIP)</option> 
    </select> 
    <label >Pilih Berdasarkan Status Pengerjaan</label> 
    </div> 
    <div class="input-field col s4">  
    <select class="validate" name="query_and2"> 
     <option value="" disabled selected>Pilih pilihan anda</option> 
     <option value="SO">Sales Order</option> 
     <option value="Buffer">Buffer</option> 
     <option value="FS">Free Stock</option> 
    </select> 
    <label >Pilih Berdasarkan Status Ketersediaan</label> 
    </div> 
</div> 
............ 
</form> 

詳細はajaxを使用してデータを送信し、結果を得る方法

https://www.w3schools.com/php/php_ajax_database.asp

関連する問題