![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
下記のように$_GETで条件を取得して検索しているのですが、
もし取得できなかった場合はすべてのデータを取り出したいと思っています。色々と調べてみたのですが初心者ですのでどうもうまくいきません…
どのようにすればうまくいくのか分かる方がいましたら宜しくお願いします。
性別と年齢の検索
この場合は性別が設定されていないという過程で、指定の年齢に該当する男女を抽出する場合です。
$sex = $_GET["sex"];
$age = $_GET["age"];
//性別が設定されていない場合は男女
if($sex == NULL)
{
$sex = 男、女;
}
$arr = array();
・
・
・
WHERE t_data.sex = '" .$sex. "'
AND t_data.age = '" .$age. "'
return $arr;
No.3ベストアンサー
- 回答日時:
文字列だと遅いですが、
where t_data.sex in (?)
とin演算子を使ってみては?
in ('男')
in ('女')
in ('男','女')
logicとしてはすっきりします。
No.2
- 回答日時:
PHPなどプログラムWHERE節につなげるには
真(1)にANDでつないでいくと効率的にかけます。
適当に書いたので自信はないですが、だいたい以下の
ような形がよいのでは?
(全てが未設定だと、ヒットさせない)
$sex = $_GET["sex"];
$age = $_GET["age"];
$job = $_GET["job"];
$area= $_GET["area"];
$sql_where="where 1";
if ($sex!="" ) $sql_where.=" AND `t_data`.`sex`='$sex'";
if ($age!="" ) $sql_where.=" AND `t_data`.`age`='$age'";
if ($job!="" ) $sql_where.=" AND `t_data`.`job`='$job'";
if ($area!="") $sql_where.=" AND `t_data`.`area`='$area'";
if ($sex=="" and $job=="" and $job=="" and $area=="") $sql_where="where 0";
No.1
- 回答日時:
>性別が設定されていない場合は男女
これは無意味なのでやめましょう。
whereにsexを指定しなければ、よいだけなので。
ただ、今のやり方だと、絞込みがほとんどなくなってしまう
恐れもありますので、最低限の条件がない場合は
SQLにデータを投げずに、条件設定エラーのような表記を
クライアントに返すような仕組みが必要だとおもいます。
ご回答ありがとうございました。「性別、年齢、地域、職業」すべて設定してないとエラーになるんです…一つでも条件があれば抽出したいのですがそれをどうやってPHPファイルに記述すればいいのか…もう少してみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたい 6 2023/01/23 12:00
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- JavaScript Json のキーと値の出力の違いについて 2 2022/06/14 20:22
- JavaScript 変数宣言と初期値代入の場所について 3 2022/10/31 19:09
- カップル・彼氏・彼女 皆さんにとって『SEX』とは何ですか? 13 2022/07/17 16:07
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- その他(プログラミング・Web制作) Rでのスクリプトのご相談 3 2022/12/08 16:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLです教えてください。
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
-
次の時間帯の勝率の合計を求め...
-
PhpMyAdminで作成して実行せよ...
-
テーブル名が可変の場合のクエ...
-
#1062 - '0' は索引 'PRIMARY' ...
-
下記の問合せを行うクエリを、 ...
-
SQLです教えてくださいお願いし...
-
SQLで漢字名称を都道府県や市区...
-
SQL構文です 画像のようにした...
-
SQLです!!教えてください。
-
下記の問合せを行うクエリを、P...
-
日本の全市区町村を人口密度が...
-
エラー 1068 (42000): 複数の主...
-
utf8bomとutf8mb4の違いがいま...
-
SQLです教えてくださいお願いし...
-
mysqlのupdate構文についての質...
-
SQLです。こんな感じですか?あ...
-
下記の問合せを行うクエリを、P...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
phpからinsertできない
-
PHP+MySQLから結果セット取得後...
-
コメントが消えてしまいます
-
.sqlのファイルをそのままコマ...
-
ダブルコーテーションやシング...
-
検索後のソートについて
-
SQLiteについて
-
【php+mysql】mysqlのレコード...
-
MySQL記述でアドバイスを
-
レコード新規・編集時に自動で...
-
PHP+MySQLでデータ登録がうまく...
-
Perlでexecuteをまとめて実行し...
-
複数条件の検索について
-
PHPで特定のレコードを取り出す
-
PHP+MySQLによるINSERTについて
-
mySQLで複雑な演算
-
接続ができません
-
SQLのVARCHARとVARCHAR2の違い
-
副問合せにLIKE文を使う方法は...
-
ODP.NETのバージョン確認
おすすめ情報