![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
いつもお世話になっております。
PHPとMySQLでアプリケーションの作成をしています。
MySQLでのビット計算で検索結果を表示しようとしています。
■PHPファイルにはチェックボックスで、約70個の項目が表示されています。
■データベースには「0」と「1」で以下のように登録されています。
00011・・・・・1110
■チェックされた場合は「1」、チェックされていない場合は「0」
PHPファイルからsubmitされたときに、↑の条件でデータを生成します。
■一致したものが1つでもあれば検索結果に表示します。
00011・・・・・1110(データベースのデータ)
&00010・・・・・0000(submitされたデータ)
------------------------
00010・・・・・0000
上記のようにしたい場合、SQL文はどのように記述したらよろしいでしょうか。
ご教示よろしくお願いいたします。
<環境>
MySQL:4.1.20
PHP:4.3.9
No.1ベストアンサー
- 回答日時:
単純に考えれば、ビットを使ったSQLを考えるより
正規化してビットのたつ項目にだけフラグを立てるテーブルを
用意しておきinner joinしてやるのがもっともSQLらしいまっとうな
やり方だと思いますがどうでしょう?
yambejp さん、遅くなりましたがご回答ありがとうございます。
やはりその方がいいかと思い、ご提案いただいた方法にいたしました。
ありがとうございます。
No.2
- 回答日時:
64個までしか指定できないので少し役不足ですが、SET型というのが、ちょうどBITフラグの考え方をした型です。
http://dev.mysql.com/doc/refman/5.1/ja/string-ty …
計算自体は"FIND_IN_SET"を使えば簡単に実装できると思います。
http://dev.mysql.com/doc/refman/5.1/ja/string-fu …
ただ、他のRDBMSでも使えるような汎用的な型ではないので開発するメンバーのスキルレベル等を考えれば、単純に70個カラムを用意してやることをお勧めしますけどね。
参考URL:http://www.itmedia.co.jp/enterprise/0308/24/epn0 …
spieder さん、ご回答ありがとうございます。
今回は別の方法でやることにしました。
今後の参考にさせていただきます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- MySQL mysqlがインストールされているのかどうか 1 2023/06/05 14:19
- PHP PHP MySql ページング 2 2022/09/20 06:38
- MySQL mysqlがインストールされているのかわかりません 1 2023/06/05 02:26
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- PostgreSQL PostgressからMySQL(MariaDB)へ構造を変更する際のTimestamp等について 2 2023/04/04 12:09
- MySQL 【投稿情報用データベース posts】は必要ないと思います。 1 2022/06/02 21:25
- PHP ここで言うトークンの意味を教えてください。 3 2022/08/24 03:03
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#1062 - '0' は索引 'PRIMARY' ...
-
SQLを作ったのですがうまくいき...
-
〜のような結果を出すためのSQL...
-
テーブル名が可変の場合のクエ...
-
書籍の内容はまともでしょうか?
-
mysqlがインストールされている...
-
エラー 1068 (42000): 複数の主...
-
あってますか?SQL
-
WHERE `年月日` = '晴' OR `年...
-
参考書に従って入力したつもり...
-
【初歩】ラジオボタンをつかっ...
-
次の時間帯の勝率の合計を求め...
-
Mac です。ローカルホストの ph...
-
SQLです教えてくださいお願いし...
-
本を見ながらPHPを勉強している...
-
共通点はあります。何が違うの...
-
MySQL NULLだけをカウントして...
-
データベースの接続に失敗して...
-
データベースについて
-
(初心者)MySQLやmaraDBで、crea...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ログインシステムについて
-
XAMPPでのMySQL各種設定保存場...
-
かねやんMySQLAdmin
-
PHP+MySQLでのINSERTの処理遅延
-
csvファイルを自動で取り込み(...
-
別サーバのデータベースの読み込み
-
my SQLって
-
mySQL と Filemaker server の...
-
MySQL超初心者の感覚で・・・
-
MySQLのビット演算
-
データベースを作りたいのです...
-
phpからmysqlを使う入門サイト...
-
データベースファイル(.db)を開...
-
PL/SQLで@ファイル名が反応しま...
-
sql*loader 数値のロード
-
あるDBから別のDBのテーブルをs...
-
数字で「そ」と「り」
-
PL/SQLをWindowsのBATファイル...
-
同じSQL文で極端に検索が遅くな...
-
mysqlにおけるホストのパーセン...
おすすめ情報