◆各プログラムのHTML部分は完成例(http://php.k-sakabe.com/zipsearch.html )のものを使っても良い。
zipsearch1.php
- リスト36の前半部分(7〜44行目)を利用する。
- 17行目の郵便番号をフォームからの入力を記憶している変数$_POST['????']に変更すればよい。
zipsearch2.php
- リスト36の10〜15行目と後半部分(46〜75行目)を利用する
- 入力用のフォームがないので追加する
- データベースサーバへの接続、データベース選択、文字コード指定を追加する(リスト36の10〜15行目)
- 住所の一部が一致していればよいのであいまい検索(LIKE演算子や%を使う)。
- SQLの条件式は
都道府県名のあいまい検索を満たし、かつ市区町村名のあいまい検索を満たし、かつ町域名のあいまい検索を満たす住所情報
$sql = "SELECT * FROM zipbook WHERE ken LIKE '%" . $_POST['都道府県名のフォームのname属性の値'] . "%' AND shi LIKE '%" . $_POST['???'] . "%' AND tyo LIKE '%" . $_POST['?????'] . "%'";
Google Mapsへのリンクを追加
検索結果に対するリンクは次のコードを使う。
echo '<a href="http://maps.google.co.jp/?ie=UTF-8&lr=lang_ja&hl=ja&q='; echo rawurlencode($row['ken'] . $row['shi'] . $row['tyo']); echo '&f=q&sampleq=1" target="_blank">'; echo $row['ken'] . $row['shi'] . $row['tyo']; echo '</a>';
zipsearch3.php
検索した地名近辺でキーワードと一致するスポットをGoogle Mapsで表示できるようにする。
- キーワードの入力フォームを追加し、Google Mapsへのリンク作成にフォームからのデータを利用する。
- SQLによる問い合わせはzipsearch2.phpと変わらない。
リンク先のURLは次の形式にする。最後の数値はマイル単位の距離で住所を中心とした検索範囲指定である。
http://maps.google.co.jp/maps?num=30&hl=ja&ie=UTF-8&q=キーワード& near=検索結果の住所&fb=1&view=map&cd=1&radius=3