2011-01-13 12 views
2

現在、jqueryのajax機能を使用しています。 mysqlデータベースからデータをロードする。そのうまく動作しますが、この1つの組み込み機能の1つは、バックスペースを押したときにデータベースにあるすべてのデータをロードすることです。また、テキストボックスに文字が残っていません。jqueryを使用してmysqlデータベースからデータをロードする

SELECT * FROM prod_table WHERE QTYHAND>0 AND PRODUCT LIKE '$prod%' OR P_DESC LIKE '$desc%' OR CATEGORY LIKE '$cat%' 

あなたは、私が手だけで0より大きい量を持つ製品をロードしたい見ることができるように:

は、ここに私のクエリです。

私はそれでクエリを持っているPHPファイルと通信するためにこのコードを使用しています:

$('#inp').keyup(function(){ 


       var inpval=$('#inp').val(); 

      $.ajax({ 
       type: 'POST', 
       data: ({p : inpval}), 
      url: 'querys.php', 
      success: function(data) { 
      $('.result').html(data); 

      } 





     }); 

    }); 

は、それはまた、私はバックスペースを押すとあります時にように、それは出力データをフィルタリングすることが可能です文字が残っていない。表示されるのは、0以上の数量の製品だけです。

+0

あなたは '警告(データ)'を成功ブロックにすることができますか? – pltvs

答えて

2

私は、あなたがしなければならないすべてはにあなたのクエリを変更することがあると思う:

SELECT * 
FROM prod_table 
WHERE QTYHAND>0 
AND (
    PRODUCT LIKE '$prod%' 
    OR P_DESC LIKE '$desc%' 
    OR CATEGORY LIKE '$cat%' 
) 

それはSQLで同じですが、ほとんどの場合、ANDORよりも優先されている場合は100%わかりません。だからあなたの元のクエリは次のように読みます:

WHERE (... AND ...) OR ... OR ... 

あなたは空の文字列を持っている場合、その後、"something LIKE '%'"は常に一致すると、一つだけOR結果セット内のレコードを含めるために一致する必要があります。

+1

ありがとうございました。 –

関連する問題