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

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

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

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

Q&A

解決済

1回答

1651閲覧

検索機能が複数回ある場合のデータの取り出しについて(PHPとmy sql)

tomato01

総合スコア80

PHP

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

0グッド

2クリップ

投稿2019/07/21 09:48

不動産系検索サイトのようなサービスを提供しようと考えており、複数回の検索がある場合の
DB(my sql)からデータの取り出し方がわかりません。言語はPHPです。

流れ
1、エリアを選択(チェックボックス) OR検索
↓ 画面移換
2、価格や広さなどで絞り込み検索(セレクトボックス) AND検索

やりたいことに近い参考サイト
https://suumo.jp/chintai/ishikawa/ensen/

質問
・1の検索結果をもとに、2で再度絞り込み検索をする場合、どのようにデータを取り出せばいいのでしょうか。
(どこかにスペースに1回目で検索したデータが格納され、そちらを参照することができるのでしょうか。)

・2回目の絞り込み検索の際、phpからSQL文を書いて呼び出すときはどのような書き方をすれば参照ができますでしょうか。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

・1の検索結果をもとに、2で再度絞り込み検索をする場合、どのようにデータを取り出せばいいのでしょうか。

基本的な考え方としては、MySQLとしては1の検索結果と2の検索結果は別物です。
HTML(チェックボックスやセレクトボックス)とPHPで頑張って2を実現できるようなSQLと作ります。

具体的には

  1. 一回目の検索→検索結果を取得、表示+表示するHTMLのチェックボックスのデフォルト値として一回目の検索条件を設定
  2. 仕組みとしては一回目と全く同じでフォームから取得される値が異なるだけ。以降、繰り返し。

(どこかにスペースに1回目で検索したデータが格納され、そちらを参照することができるのでしょうか。)

やってやれなくは無いですが、普通はそういうアプローチはしません。

・2回目の絞り込み検索の際、phpからSQL文を書いて呼び出すときはどのような書き方をすれば参照ができますでしょうか。

2回目の絞込みした後のURLを見てみて下さい。
1回目の検索条件と2回目の絞込み条件の両方が含まれていることがわかるかと思います。

不動産検索の場合、「絞込み」という機能名でOR(駅)とAND(家賃など)の両方の機能が提供されますが、ORに該当する条件はORで連結してSQLを組み立て、ANDに該当する条件はANDで連結してSQLを組み立てていきます。

前述の通り、SQLの組み立てについては一回の絞込みでも複数の絞込みでも同じ仕組みです、まずは一回目の検索できちんと絞り込めるように仕組みを実装してみることをお勧めします。

投稿2019/07/21 10:36

tanat

総合スコア18713

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tomato01

2019/07/21 10:57

ご回答を頂き誠にありがとうございます。 検索の仕組みがとても理解できました。 まずは、1回の検索で絞り込める仕組みを実装してみます。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問