- ベストアンサー
フィールド名を取得する方法について
現在、PHPとMySQLを独習しておる者です 検索の際、あるデータがどのフィールドに入っているかを表示させたいのです イメージは仮に以下のような状態であるとして ------------------------------------ 顧客| 前期出荷|中期出荷|後期出荷| ------------------------------------ A社 | 商品A | 商品D | 商品G | B社 | 商品B | 商品E | 商品H | C社 | 商品C | 商品F | 商品I | ------------------------------------ 例えば商品Fがどの時期に出荷されたかを調べるには どのように記述すべきでしょうか SQL文か あるいは可能であればPHP文でご教示頂ければ幸いです 初心者にてまことに申し訳ありませんが、 どなたか、何卒よろしくお願い致します
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
テーブル設計を変更してはいかがですか 顧客|出荷時期| 商品名 | ------------------------ A社 |前期出荷| 商品A | A社 |中期出荷| 商品D | A社 |後期出荷| 商品G | B社 |前期出荷| 商品B | B社 |中期出荷| 商品E | B社 |後期出荷| 商品H | C社 |前期出荷| 商品C | C社 |中期出荷| 商品F | C社 |後期出荷| 商品I | これなら select * from テーブル where 商品名 = '商品F' で一発です。
その他の回答 (1)
- chukenkenkou
- ベストアンサー率43% (833/1926)
Yahoo!知恵袋の方に、詳しく回答しておきました。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1023621375
お礼
chukenkenkouさん 双方でありがとうございます 説明不足で申し訳ありませんでした chukenkenkouさんにご提示頂いた内容は今の私にとってちょいと難解でしたが なんとなく、大体わかりました。 ちょうどPHPの方でmysql_fetch_arrayとarray_searchの組み合わせで検出しようと考えていた所なのですが、 (商品Fの含まれている行を検出→fetch_arrayで配列→searchでKeyを検出) それでもありですかね あと、chukenkenkouさんはいろいろとお詳しそうなので、別件でもう一つ質問させて頂きたいのですが、よろしいでしょうか? 携帯電話向けダウンロードファイルのHUF化についてなのですが…
補足
某知恵袋でchukenkenkouさんにご指摘頂いた 各バージョンに関しての補足です 私の導入している環境は MySQL-5.1.30 PHP-5.2.8 Apache-2.2.11 です ただし、都合によりPHPのモジュールは導入不可といった状況です
お礼
確かに しかし、「顧客」にあたる部分がuniqueで… 仕方なくあのような表に… 説明不足で申し訳ありません ただ、nora1962さんにご提示頂いた形はとてもスッキリしていていいかな、と 商品用テーブルを別でこういった形で用意して、 顧客uniqueの方で重複登録フィルタをかけるのもありかな、と 思わせて頂きました nora1962さん、ありがとうございました