QuictyによるPHP Webアプリの超高速開発-(4)select_from_tableによるプルダウンメニュー

Qyuctyデータセットに用意されている「select_from_table」型を使うと、ほかのデータセット(テーブル)のデータをプルダウンメニューの選択肢として使用できる。
「(3)selectフォームによるプルダウンメニュー」では、retaurantテーブルに店名と料理の種類の両方のフィールド(カラム)を作ってしまったが、ここでは料理名は別のテーブルcategoryに設定し、料理ID(category.id)だけをrestaurantテーブルに格納する仕様にする。

これによって、料理名の変更や追加などのメンテナンスが容易になる。

今回は、以下のページとデータセットを作成する。

データセット マスタメンテページクラス ページクラスモジュール
restaurant restaurant index.class.php
category category category.class.php

各データセットは以下のように設定する

restaurantデータセット

Name(カラム名) タイトル DB型 Quicty型
id - int id
name 店名 text text
category_id 料理の種類 text select_from_table

categoryデータセット

Name(カラム名) タイトル DB型 Quicty型
id - int id
name 店名 text text

サンプルコードrestaurant02.zip

展開したrestaurant02フォルダをQTフォルダの中において、「アプリケーションの読み込み」で読み込んでください。

ご注意:このブログのサンプルコードは、シングルクオートやダブルクオートなどがスマートクオートに変換されているため、コピペしてもそのままではエラーになることが多いです(エディタによる)。
なるべく、サンプルコードをダウンロードしてご利用ください。

アプリの登録

Qtビルダーのトップページで「アプリケーションの追加」をクリック。
サイト名「レストラン02」
Name「restaurant02」
で登録。
screenshot_01.54X93hOKE0ga.jpg

ページとデータセットの追加

「restaurant02」の設定画面を開き、「トップページに機能を追加」をクリック。
screenshot_02.JLyEPRFtwO2y.jpg

タイトル「レストラン」
Name「restaurant」
ページの種類「マスタメンテ/マルチページ」
で登録。
screenshot_03.Jln4TcCn8wq5.jpg

トップページに「restaurant」が設定され、データセット「restaurant」ができている。
続けて「ページを追加」をクリック。
screenshot_04.EYinzu6vjIWU.jpg

タイトル「料理の種類」
Name「category」
ページの種類「マスタメンテ/マルチページ」
で登録。
screenshot_05.KKKCQv9lwZB1.jpg

データセット一覧から「category」をクリック。
screenshot_06.YrXoZiCar04L.jpg

text型のフィールドを追加する。
タイトル「料理名」
Name「name」
で登録。
完了したら、テーブル関連設定ファイルを保存し、テーブルの作成を実行する。
screenshot_07.bT9ZfFzDaGrn.jpg

次にデータセット「restaurant」に戻り、text型フィールドを追加。
以下の画面は
タイトル「店名」
Name「name」
で登録した結果。
screenshot_08.EtDHTO02laAQ.jpg

同じくデータセットrestaurantに、今度は「select_from_table」型を追加。
screenshot_09.RedHDNZOaXYV.jpg

タイトル「料理の種類」
Name「cartegory_id」
value=>(key=>value)は、以下のように設定。
_TABLEの右の欄を「category」
残りは変更なしで、登録。
screenshot_10.j4FuSRAdXHQp.jpg

データセット「restaurant」に「店名」と「料理の種類」の2つのフィールドが登録された状態。
テーブル関連設定ファイルを保存し、テーブルの作成を実行する。
screenshot_11.nWh2mwIWukYB.jpg

アプリケーション「restaurant02」の動作確認

restaurant02を開き、右のメニューから「料理の種類 追加」をクリック。
screenshot_12.GMrQJx17hQBT.jpg

料理名に「和食」を登録。
screenshot_13.qRKe8y1pYfJS.jpg

同様に、「西洋料理」「中華料理」も登録。
screenshot_15.bR886JlLpdli.jpg

右メニューから「レストラン追加」をクリック。
店名を入力し、料理の種類を選択。
screenshot_16.27f8DojawMwr.jpg

ほかの店も登録して、更新や検索ができるか確認する。
screenshot_17.88XL5MAKBz26.jpg

この程度の機能なら、PHPのコーディングなしで実現できる。
ただ、内部的な処理は効率が良くないので、大規模サイトには向かないが、小規模なグループで使うWebアプリなら実用になる。

以上。

関連記事

投稿者:

ともゆき@zubapita

ともゆき@zubapita

作ったモノ 雑誌:月刊アスキー(デスク)、アスキー.PC(副編集長)、インターネットアスキー(編集長)、アスキーPCエクスプローラー(編集長) Webサイト:東京グルメ/ライブドアグルメ、映画を語ろう、本が好き 著書:「Twitter 使いこなし術」「facebook 使いこなし術」 最近は、株式会社ブックウォーカーにて、「BWインディーズ」をやってます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>