2016-05-17 26 views
0

私は検索機能としてjavascriptを使用しています。データベースからの値をループする際に、入力ボックスの一意の値を取得します。

ここでは、入力ボックスの値を別のPHPファイルに送信します。このページでは、mysqlデータベースからテーブルを作成しています。だから多くのフィールドがあります。brandid検索は、テーブルの最初の行について、必要なように機能します。しかし、最初の行に値があり、2番目の行で検索を行っているときに、1番目の行からも値が取得されます。私が入力している行だけでどのように値を取得できますか?参考のため、各行にDL_Idという名前のフィールドがあり、一意です。この行にこの値を使用するにはどうすればいいですか?おそらくAND句を使用しますか?

var searchTxt = $("input[name='brandid']").val(); 

これは

$query=mysqli_query($link,"SELECT * FROM dl_commfactory_2 LIMIT 35"); 
while($row = mysqli_fetch_array($query)){ 
    $dlid = $row['DL_Id']; 
    $brandid = $row['Brand_Id']; 
    ?> 
    <tr> 
    <td><input type="text" name="dlid" readonly value="<?php echo $dlid; ?>" size="2"></td>  
    <td><input type="text" name="brandid" value="<?php echo $brandid; ?>" list="brandlist" id="output" onkeyup="searchbrand()" > 
    <datalist id="brandlist" name="taskoption"> 
     <option> </option> 
    </datalist> </td> 
    <?php } ?> 
+0

クエリーで選択したすべての準備完了または出力 –

+0

@ダゴンを除外するにはどうすればよいですか? –

答えて

0

まずデシベルから私のループは、あなたが要素を送信するように機能するように編集され、searchBrand(この)にsearchBrand()の呼び出しを変更する方法です。

すると、それに応じてsearchBrand機能を変更します。

function searchBrand(el){ 
    var brandIdElement = $(el); //The element being edited 
    var searchTxt = brandIdElement.val(); //The new value sent 
    var searchTxtDL = brandIdElement.parents('tr').find('input[name="dlid"]').val(); //The dlid element's value in the same line 

    //Send the value of the dlid too 
    $.post("search-brand-vw.php", {searchVal: searchTxt, searchValDL: searchTxtDL}) 
    .done(function(brandlist) { 
     //Get the brandList element for the specific line 
     var brandListEl = brandIdElement.parents('tr').find('datalist[name="taskoption"]'); 
     brandListEl.html(brandlist); 
    }); 

} 

あり実装することができ、パフォーマンスの最適化のカップルですが、パフォーマンスはここでの問題ではない場合、それはOKでなければなりません。

+0

なぜ他のPHPにもdlidを送りますか? –

+0

"参考に、各行にDL_Idという名前のフィールドがあり、一意です。この行にこの値を使用するにはどうすればよいでしょうか? - この値でクエリを操作することを考えて、私はそれが最善の方法だと思います。値をPHPに送信して、そこの任意のフィルタで値を使用します。 –

関連する問題