1

wordpress でオートコンプリート機能を実装しようとしていますが、次のエラーが表示されます。

致命的なエラー: 9行目の >'...get_airports.php' で未定義のメソッド stdClass::get_results() を呼び出します

以下は私のコードです:

html: <input type="text" name="airports" id="airports" />

php: global $wpdb;

$q = strtolower($_GET["q"]);
if (!$q) return;

$wpdb->iata_airport_codes = $wpdb->prefix . "iata_airport_codes"; 
$airport_list_db = $wpdb->
get_results("SELECT * FROM `wp_iata_airport_codes` WHERE `airport` LIKE '%$q%' LIMIT   0,15");

foreach($airport_list_db as $airports){

 echo $airports->airport . "\n";

}

js: jQuery(document).ready(function() {
$("#airports").autocomplete("get_airports.php", {
    width: 230,
    matchContains: true,
    selectFirst: false
});
 });

どんな助けでも大歓迎ですありがとう。

4

2 に答える 2

1

挿入する必要があります

require_once('wp-blog-header.php');

WordPress プラグインの一部ではなく、テーマの functions.php に存在しないファイルで$wpdbを使用する場合は、コードの前に。

ところで、AJAX リクエスト用のカスタム ハンドラを作成する方がはるかに優れています。

于 2012-11-27T09:28:56.387 に答える
0

解決しました!!! mysql_connect を使用して db に直接接続し、mysql_fetch_array($result, MYSQL_ASSOC) を使用して結果をループして表示しました。それはうまくいきましたが、おそらく「get_airports.php」をwordpressの外のサイトのルートディレクトリに置いたため、エラーがどこから来たのかまだわかりません。すべての助けに感謝します。

于 2012-11-06T08:42:30.770 に答える