連載:AjaxとPHPでリッチクライアント(1)
Ajaxを使ったamazon検索をPHPで作ろう
上鍵 忠志
日本PHPユーザ会
2005/10/4
AjaxACを使う |
・サンプルを使用し、改造してみる
AjaxACには以下の3つのサンプルが同梱されている.
|
■CountryRegionCityJax
サンプルとして比較的簡単なつくりになっていて、改造しやすそうな「CountryRegionCityJax」を動かしてみよう(ArithmeJaxは演算するだけだし、GoogleSuggestCloneJaxはMySQLを動作させなければならない)。
まずはAjaxACを公式サイトから取得し(執筆時現在AjaxACの最新版は0.4.4)、アーカイブを展開した後、「lib」ディレクトリをブラウザからアクセスできる場所にコピーする。
AjaxACのコピー例 | |
|
今回は「/var/www/html/ajaxac/」にコピーすることにする(執筆時現在AjaxACの最新版は0.4.4)。次に「examples/CountryRegionCityJax」の内容をブラウザからアクセスできる場所にコピーする。
コピーが完了したらCountryRegionCityJax.phpに下記コードを追加し、include_pathにAjaxACのコアが読み込まれるようにする。
改変したCountryRegionCityJax.phpの一部 |
$include_path = ini_get( "include_path");
<= この行を追加 <=
この行を追加 $include_path.":/var/www/html/ajaxac/");
<= この行を追加require_once(CountryRegionCityJax.class.php'); |
後はブラウザでindex.phpにアクセスするだけである。画面には3つのセレクトボックスが現れ、それぞれCountry→State/Region→Cityと選ぶようになっている。これはセレクトボックス1つ1つの選択のバックグラウンドでAjaxが次のデータを読み込んでいる。
ちなみに読み込んでいるデータは同一ディレクトリにある「locations.txt」である。ファイルを開くと単なるCSVなので、国名に日本も追加してみよう。
改変したlocations.txtの一部の例 |
United States,Texas,Houston <=
この行以下を追加
|
これで日本に関連する地域が選択できることになる。
注意:Ajaxはブラウザのキャッシュの影響で思ったとおりに動作しない場合が多い。そういった場合はブラウザのキャッシュを一度クリアしてみよう。 |
■GoogleSuggestCloneJax
最後にGoogleSuggestCloneJaxを動かしてみよう。これを動かすにはMySQLの準備が必要である。まずは適当なテーブルを作成し、GoogleSuggestCloneJaxのディレクトリに存在する「data.sql」をmysqlコマンド(参照:連載記事「快速MySQLでデータベースアプリ!」)などで実行しよう。
MySQLのデータベースを作成 |
$ mysqladmin -u root -p create test_ajaxac_google
|
ちなみにこのdata.sqlはGoogleが表示する検索結果のようなものをあらかじめ用意したデータである。つまりここで用意されたものしか結果として出てこないことを前もって知っておくといい。
次に先ほどのCountryRegionCityJaxと同様にinclude_pathの修正を行う処理をGoogleSuggestCloneJax.class.phpに追加する。さらにクラス「GoogleSuggestCloneJax」にあるプロパティからデータベースの設定を行う。
設定すべきプロパティ | ||||||||||||||||||
|
後はindex.phpにアクセスし、いくつかキーワードを入れてみるといいだろう。data.sqlに存在するキーワードであればGoogleSuggestっぽい表示が行われるだろう。
2/3 |
INDEX |
||
Ajaxを使ったamazon検索をPHPで作ろう | ||
Page1<AjaxとPHPの関係> PHPとAjaxの関係/Ajaxを使ったウェブアプリケーションの例/Ajaxを用いたアプリケーションの可能性/Ajaxを扱うためのPHPライブラリたち |
||
Page2<AjaxACを使う>
サンプルを使用し、改造してみる/CountryRegionCityJax/GoogleSuggestCloneJax |
||
Page3<Amazon商品検索フォームにGoogleSuggestCloneJaxを改造する>
AmazonSuggestCloneJax |
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|