2016-11-22 11 views
0

私はこの人に苦労しています この種のPHPクラスをどう呼び出すことができますか? ここに私の問題が残りますリモート: 'myData.php?jquery =%jquery' 正しい呼び出し形式は何ですか?AjaxコールPHP Mysql public static function

myData.php

public static function getproduct($p){ 
     $sql = "select * from products where code like '%$p%' or name like '%$p%' or id like '%$p%'"; 
     $query = Executor::doit($sql); 
     return Model::many($query[0],new ProductData()); 
    } 

JS /アヤックスからのような:

$(document).ready(function() { 

      $('input.city').typeahead({ 
       name: 'city', 
       remote: 'myData.php?jquery=%jquery' 

      }); 

     }) 

ありがとう!

+1

、/あなたのクラスが定義されているファイルを使用してクラス名を呼ん含まは:: getproduct($ pを) – Ima

+1

チェックこの回答は、http://stackoverflow.com/questions/17489109/ajax-request-and-php-class-functions – user3099298

+0

@ user3099298私は本当に愚かな私はそれを取得しませんでした。もっと簡単な例を教えてください。乾杯。 – fecapeluda

答えて

2

Product.phpファイルは、クラスファイルを表します。 viewProduct.phpはあなたのビューファイルです。都市入力フィールドにテキストを入力すると、jQueryはその値をGETメソッドを使用してクラスファイルに渡します。クラスファイルがmyRequestから値を取得すると、静的関数が呼び出され、出力がビューファイルに送信されます。

myData.php内部Product.php

class Product{ 
    public static function getproduct($p){ 
     // add your SQL queries 
     return "This is return value ".$p; 
    } 
} 

// call static function 
if(isset($_GET['myRequest'])) { 
    echo Product::getproduct($_GET['myRequest']); 
} 

viewProduct.php

<input type="text" name="city" id="city"/> 

<span id="result"></span> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#city").keyup(function(){ 
     var txt = $(this).val(); 
     $.get("product.php", {myRequest: txt}, function(result){ 
      $("#result").html(result); 
     }); 
    }); 
}); 
</script> 
+0

を参照してください。構文解析エラーです。予期しない 'class'(T_CLASS)、予期している関数(T_FUNCTION)。私はあなたに私のmyData.phpがhttp://pastebin.com/CExBQdsdのように見えるようにペーストビンを残します。 – fecapeluda

+0

@fecapeluda 2つのファイルを別々のディレクトリ(実際のプロジェクトフォルダではない)に作成し、上記のコードを実行すると、ワーキング。その後、実際のプロジェクトにコンセプトを適用します。 – user3099298

+0

恐ろしい!あなたは正しい方法で私の中に入れます。 – fecapeluda

関連する問題