質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.76%

  • PHP

    19185questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • MySQL

    5513questions

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

フォーム入力内容確認画面にて

解決済

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 148

creative_09

score 14

フォームを使用し、
名前
都道府県
住所
電話番号
などを入力後、確認画面へ

都道府県はID番号が送信され、データベースに都道府県マスタが別のテーブルで用意されています
このままでは確認画面には都道府県IDが表示されます

「確認表示の際にはその都道府県を番号ではなく都道府県で表示」
を実現したいのですが、方法としては一般的にはどんな方法があるのでしょうか?

現在は、
データベースに接続
都道府県テーブルで該当IDの都道府県名を取得
変数に入れる
確認画面に変数で表示

の流れですが、
こういうやり方が一般的なのでしょうか?
都道府県データを先に読み込む?
もしくはもっと手軽にIDを実際の都道府県名で表示させる方法ってあるのでしょうか?

そういう項目がある度にデータベースへ問い合わせる記述が出てくるのもそんなものと言われれば理解できますが、都度は効率が悪い気がして

以上、回答お願いします

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

checkベストアンサー

+2

現在は、
データベースに接続
都道府県テーブルで該当IDの都道府県名を取得
変数に入れる
確認画面に変数で表示 

そうですね、それでいいと思いますが、都道府県データなど
変更があまり想定されておらず全体量もさほど多くないものについて

$todoufuken=["01"=>"北海道","02"=>"青森","03"=>"岩手"・・・,"47"=>"沖縄","99"=>"その他"];

のような配列に先にうけておけば

$t=filter_input(INPUT_GET,"t");
print $todoufuken[$t];

のようにアクセスさせてもよいかもしれません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/01/26 19:02

    ありがとうございます。なるほど。そのページ内で予め変数の配列にいれておき、対応するID番号を拾ってくるイメージでしょうか?
    また、INPUT_GET,"t"のtは都道府県IDがはいるname属性の名前をいれるってことあってますでしょうか?

    キャンセル

  • 2018/01/26 19:54

    試してみました。期待通りシンプルな記述で行うことが出来ました
    INPUT_GETをINPUT_POSTに変更したのですが、大丈夫ですか???

    キャンセル

  • 2018/01/26 20:37

    POSTで送るときはINPUT_POSTで間違いありません

    キャンセル

  • 2018/01/26 23:59

    ありがとうございます。安心しました

    キャンセル

0

自分はJSで書き換えています。
だいたい以下の流れのものを作って使いまわしています。

1.ID番号はhiddenに入れて受け渡し
2.JS側でhiddenを取得
3.JSでhiddenから都道府県を検索
JSの配列に予め入れておいてJS内で完結する処理です
4.都道府県の表示場所に「3」の結果を表示

こうすることで特にPHPやDBで処理を行うことなく表示させています。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/01/26 19:02

    ありがとうございます。なんとなくイメージはわかるのですが、JSとなってくると中身の作り方がわからなく・・・・勉強不足です

    キャンセル

  • 2018/01/26 23:13

    使い慣れていないと難しいかもしれませんので、とりあえずはPHP側で配列の中から拾ってくる方法でも良いと思います。
    問題を解決する方法は一つではありませんので、ご自分にあったものを使用されるのが良いと思います。

    キャンセル

  • 2018/01/26 23:58

    ありがとうございました。様々な方法を残せることで参考にしていきたいと思います

    キャンセル

0

データベースを使うのでいいかなと思います。

どれが正解もないかとは思うのでやりやすいので良いんじゃないですかね。

そもそも、入力フォームにある都道府県はどのような動きでしよう?
セレクトボックスでしょうか?

もしそうならば、セレクトボックス用に既にデータを取得しておいて、送られた値とその配列を使ってマッチしたのを抜けば良いのでは?と考えました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/01/26 21:18

    ありがとうございます。なんとなくイメージはできるのですが、初心者で・・・
    入力フォームでは <option label="北海道" value="1">北海道</option>
    という感じです
    セレクトボックス用に予め取得しておいてという流れはデータベースへも接続し、かつ、変数への配列にも入れておき、その変数で表示するということでしょうか?

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.76%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    MySQL でのテーブル数を取得

    MySQL でテーブルの数を取得する方法を教えてください。 実際のソース 又は 参考サイトを教えていただけるとうれしいです。

  • 受付中

    FuelPHPでデータベース作成(migrate)

    http://fuweb.info/249 こちらのサイトで学習しているのですが、どのタイミングでなんという名前のデータベースを作ったのがわかりません。 いきなりテーブルを作ってい

  • 解決済

    MySQLのデータベース間のテーブルの比較について

    MySQLにて別のデータベースとの比較する際にどうしたらいいでしょうか。 データベースA , データベースB があり データベースAのhogeAテーブルと データベースBのhog

  • 解決済

    db select

    前提・実現したいこと 初歩てきな質問ですいませんSQLのセットとのことらしいのですが 発生している問題・エラーメッセージ これはどういう意味ですか? エラーメッセー

  • 受付中

    PHPで招待とその通知機能を実装したい。

    タイトルの通りです。 PHPで招待とその通知機能を追加したいのですが、そのようなことは可能でしょうか? 具体的には、IDを入力してボタンを押すとそのIDの人に通知が送られるよう

  • 受付中

    チェックボックスでの投稿と検索

    当方rails 初心者です。 やりたいこと: 今、自分が描いた漫画を投稿して、みんなで見ることができるwebアプリを作成しています。 そこで、投稿する際にその漫画のジャン

  • 解決済

    データベースを使用したカウントについて

    やりたいこと ボタンを押された回数をデータベースに記録する仕組みなのですが、 PHPでファイルを複製して、最初はデータ追加で、次からデータの更新でやりたいのですが、データの追加

  • 解決済

    (intelliJ)javaでMySQLを接続する

    こんばんは、非常に頭の中がこんがらがっておりまして、お力を貸していただきたいです。 WebTodoアプリをJSPとサーブレットで作成しています。 入力フォームに入れた情報をMy

同じタグがついた質問を見る

  • PHP

    19185questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • MySQL

    5513questions

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。