Dreamweaver 簡単PHP

DreamweaverでPHP 検索ページ作成3

更新日:

検索窓と検索結果を同じページに表示

今回は、データの検索窓と検索結果を同じページ内に配置する方法を書いていきたいと思います。

①まず、以前作成した検索用のページ(search.php)をコピーして、search_and_result.phpという名前のページを作成します。

②作成したページの検索窓テーブルの下にカーソルを移動して、一般タブのテーブルをクリックします。2行4列のテーブルを作成したら、1行目に項目名を記入します。

③サーバービヘイビアのレコードセットをクリックします。

④名前(任意)を決め、接続先とテーブルを選択します。フィルターを「Title」にし、検索条件を曖昧検索の「を含む」にします。比較方法を今回はフォーム変数にして、比較対象を「Title」にします。「OK」ボタンをクリックします。

⑤バインディングを開き、レコードセットの各項目を該当の箇所へドラッグします。

⑥タグセレクターの「form#form1」をクリックし、「プロパティインスペクタ」のアクションのファイル名を削除して、メソッドを「GET」にします。

③次に前回と同じようにレコードセットナビゲーションバーを挿入します。検索結果表示用テーブルの下にカーソルを移動し、データタブのレコードセットナビゲーションバーをクリックします。

④レコードセットを選択。表示方法を今回はイメージにしてみます。「OK」ボタンをクリックします。

⑤次にレコードセットナビゲーションステータスをクリックします。ダイアログボックスが表示されたら「OK」をクリックします。

⑥検索結果テーブルの2行目を選択し、サーバービヘイビアのリピート領域をクリックします。

⑦レコードセットを選択し、表示件数を入力(今回は5にします)。「OK」ボタンをクリックします。

⑧これで一応完成です。それでは、実際に試してみましょう。『愛』と入力して検索ボタンをクリックして、検索結果が表示されたらOKです。

⑨尚、前回は指摘しなかったのですが、この検索結果のページには重大な欠陥があります。検索窓に何も入力しないで、検索ボタンを押してみましょう。するとすべてのデータが表示されます。わざとそうしたいのなら別ですが、すべてのデータが表示されるというのは、まずいので多少の手直しをします。

NULL値検索の修正

①サーバービヘイビアのレコードセットをクリックして、レコードセットダイアログボックスが表示されたら、「詳細設定」をクリックします。

②SQL文を多少いじりますが、そんなに難しくはありませんので、覚えてください。

③3行目の『WHERE Title LIKE %colname%』のあとに『AND colname is not NULL』と入力して、『OK』をクリックします。

④これで、何も検索値を入力していないのに検索結果が返ってくることはなくなりました。只、値が何もないのに検索結果のテーブルが表示されるのは、見た目が悪いので、検索結果が何もないときは検索結果テーブルは表示されないようにしましょう。

⑤タグセレクターでテーブル全体を選択し、サーバービヘイビアの領域の表示→レコードセットが空でない場合に表示とクリックします。出てきたダイアログボックスのレコードセットを選択し、「OK」をクリックします。

これで、検索結果が空の場合はテーブルが表示されないようになります。以上、本日はここまでにします。

-Dreamweaver, 簡単PHP
-

Copyright© WinRoad徒然草 , 2018 All Rights Reserved Powered by AFFINGER5.