• 締切済み

オプションメニューでデータの呼び出し

memberというデータベースを作りました。member内は会員番号(number)、名前(name)、フルマラソン(full)、ハーフマラソン(half)、10km(10km)というフィールドがあります。 オプションメニューのページをhtmlで作り、そのオプションでフルマラソン、ハーフマラソン、10kmのいずれかを選択することで、会員番号、名前、選択した距離を表示できるようなものを作りたいのですが、選択したオプションに関するデータを抽出させる方法がわかりません。 考えているのはオプションで例えば「フルマラソン」を選択した場合、 select number,name,full from memberという命令を実行させるというものなのですが・・・ よろしくお願いします。

  • MySQL
  • 回答数1
  • ありがとう数2

みんなの回答

回答No.1

full,half,10kmにはどんな値が入ってるのでしょうか?選択/非選択のフラグですか?じゃあ仮に1/0が入ってるとしましょう。 データの絞込みはwhereを使います。例えばfull=1のデータを取り出す時は質問にあるSQLに続けて where full=1 です。full=1及びhalf=1であれば where full=1 and half=1 full=1またはhalf=1であれば where full=1 or half=1 です。

参考URL:
http://dev.mysql.com/doc/mysql/ja/select.html
kenkenkenken25
質問者

補足

ご回答ありがとうございます! 返信の方、遅れてしまい本当に申し訳ありませんでした。 full,half,10kmにはtime型の値が入っています。例えばfullには02:55:47といった感じです。 その場合もwhereを使うことは可能なのでしょうか? よろしくお願いいたします。

関連するQ&A

  • 数種類のテーブルを結合させて呼び出し

    こんにちは。 サークルメンバーのマラソンのタイムを管理するデータベースを作っています。 現在作っているテーブルは、 memberinfo(会員番号(number)、名前(name)) full(会員番号(number)、日付(date)、タイム(time)) 10km(会員番号(number)、日付(date)、タイム(time)) です。 これら3つのテーブルからメンバー全員のすべての距離の記録を抽出するsql文を作っています。 例えば、会員番号1のAさんが2005年にフルマラソンの記録が2:55:47で2004年に10キロの記録が34:53、会員番号2のBさんが2003年にハーフマラソンの記録が1:20:12で2003年に10キロの記録が40:21だとすると 結果が 1 A 2005 full 2:55:47 1 A 2004 10km 34:53 2 B 2003 half 1:20:12 2 B 2003 10km 40:21 という結果が出力されるというものです。 sql文は以下のとおりです。 $sql = "select memberinfo.number, name, date, time from memberinfo, full, half, 10km where (memberinfo.number = full.number = half.number = 10km.number)"; これだとsql文が間違っているようです。 どうすればよいでしょうか? よろしくお願いします

  • フォーム(オプションメニュー)とPHPの連携

    こんにちは。オプションメニューから選択した項目によって結果を出力するというものを作っています。 オプションで選択するのは名前、年度、距離です。 テーブルは以下の2つを用います。 membersテーブル(主キー:number)  number  name 1     A 2     B kirokuテーブル (主キー:number,date) number  date     full   half  10km 1    2005-5-22   2:55:21 1    2004-3-11        1:19:15 ここから、例えば、オプションで「A」「2005年」「フル」を選択するとAの2005年のフルの記録が表示されるというものです。 sql文は以下のようにしました。 $sql = "select members.number,members.name kiroku.date,kiroku.$distance from members,kiroku where (members.name = $name) and (kiroku.date like '%$date%') and (members.number = kiroku.number)"; ここで$distanceにはオプションで選択した距離(例だとfull)$nameには選択した名前(例だとA)$date(には選択した年度(例だと2005)が入っています。 しかし、これだと Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ~ が表示され、だめでした。 この場合どうすればよいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • MySQL
  • データベースの作成

    こんにちは。データベースの作成に関する質問です。 サークルメンバーのマラソン大会の記録管理テーブルを作ろうと考えています。 フィールドとしては、 1.会員番号、2.名前 3.日付 4.フルマラソン 5.ハーフマラソン の5つを考えています。 ここで、一人の会員に対して、例えば3の日付で2005年にフルマラソンを二回走った場合、 日付  フルマラソンの記録 2005     3:30:42 2005    3:15:27 という形にしたいのですが、phpMyAdminを使っているのですが、これだと一人の会員に対して、ひとつの日付とそれに対応するひとつの記録しか登録することができません。僕自身が方法を知らないだけだと思うのですが・・・ 例えば以下のような感じです。 1 ケン 2005 3:12:24 1:20:32  これを 1 ケン 2005 3:12:24 1:20:32 2005 3:05:11 1:19:24 2004 3:32:13 1:24:56 といった形で作るにはどうすればよいのでしょうか? 日付と記録の部分を分けてテーブルを作った方が良いのでしょうか? よろしくお願いします

    • ベストアンサー
    • MySQL
  • 数種類のテーブルの呼び出し

    こんにちは。 全く違うフィールドを含む数種類のテーブルを全て呼び出して一覧表示するためにはどういった命令を実行すればよいのでしょうか? selectはsql文の中で一度しか使えないということはわかったのですが・・・ 例えばテーブル1(フィールドはnumber,name)テーブル2(フィールドはdate,time) とした時、出力される結果としては テーブル1 number,name テーブル2 date,time ということです。 select文を2回使えるのであれば、 $sql = "select * from テーブル1 and select * from テーブル2"; という命令でいけると考えたのですが・・・

  • フルマラソンを走り切る(時間内に)ためにすることは何ですか?

    フルマラソンを走り切る(時間内に)ためにすることは何ですか? 東京マラソンやホノルルマラソンなど比較的制限時間の長い マラソンに出場したいと考えてはいますが、ロングの距離は 今までに走ったことがなく、いきなり申し込むのは無謀かと 考えています。 やはり10km、ハーフ、そして30kmと徐々に距離を伸ばして 実績を作っていくという方法がいいいのでしょうか? 今までは10kmくらいの市民大会くらいしか参加経験ありません。 フルマラソンまでの準備期間はやはり1年間くらいでしょうか?

  • 東京マラソン

    来年2月の東京マラソンに出ます。 初めてのフルマラソンです。(5km.10kmには出場経験あり) 真冬の東京のフルマラソンに、どのような恰好をするのが 最適でしょうか。 普段はハーフ~スリークォータータイツを愛用しています。 できれば、お洒落なメーカー・ブランドでいい物がありましたら、 教えて下さい。 ちなみに20代・女子です。

  • フルマラソンの目標タイムを決めたい

     2月の東京マラソンで初めてフルマラソンを走ります。フルマラソンは距離が長いので、後半にスタミナ切れにならないように目標タイムを決めて、初めから最後までイーブンペースで走りたいと思っています。しかし、自分がどれくらいのペースで走り切れるのかが分かりません。  先週、ハーフマラソン大会に出て、1時間38分で完走できました。また、ここ4ヶ月は一回10km程度で、月間150kmほど走っています。ペースは5分/km~5分30秒/kmです。  これらの数字をみてフルマラソンの目標タイムが予想できる方がおられましたら、お教えください。前半に飛ばしすぎて、後半がた落ちというのだけは避けたいと思っています。

  • 初めてのジム通い、メニューの組み方 

    初めてのジム通い、メニューの組み方  身長163cm/体重62kg/28才の男です。 昨年7月からマラソンを始め11月にフルマラソンを5時間20分で完走 今年4月にハーフマラソンを1時間58分で完走しました。 月160km程走ってます。 今後はトレイルランやロードバイクもやりたいと思っています。 5月からプール・トレーニング室が有るジムに通い始めましたが メニューの組み方が判りません。 持久力だけでなく瞬発力だったり、筋力だったりと バランスの良い体にしたいのですが 1日で使う機器は1つ2つに絞ったほうが良いのでしょうか? プールの使い方、機器の回数や負荷 1日のメニュー2日目のメニュー 休息日など 皆様の経験や良い本など有りましたら どうぞ宜しくご教授願います。

  • オプションメニュー・クリックした時の処理

    "wordlist"という名前のオプションメニューを作りました。クリックしてdo/selection.cgiを呼び出して送信を受けたデータ(クリックしたアイテムの番号)を読んで処理を行わせようと考えています。 <form name="resultform" action="do_selection.cgi"> --- --- <select name="wordlist" type=submit> <option selected>訳語検索の結果</option> for ($i=1; $i<$#midashi; $i++) {print "<option value=\"$midashi[$i]\">$midashi[$i]"; } </select> </form> ところが、これではdo_selection.cgiが呼び出されませんでした。またsubmit はメニューでクリックしたアイテムの番号をどのようにして送り出すのかも分かりません。tohohoさんのページを見ておりますが、見つかりませんでした。どなたかアドバイスをいただきたいのですが。。。(もし私の質問に不明の箇所がありましたら、補足をいたしますのでご指摘下さい]

    • ベストアンサー
    • Perl
  • リストメニューに反映させる内容

    list.dat 内 $list1,$list2,$list3,$list4,$list5,$name1,$name2,$name3,$name4,$name5, print "<select name=list>\n"; print "<option value="0">未選択</option>\n"; print "<option value="1">$name1</option>\n"; print "<option value="2">$name2</option>\n"; print "<option value="3">$name3</option>\n"; print "<option value="2">$name4</option>\n"; print "<option value="3">$name5</option>\n"; print "</select>\n"; list.dat内のデータをselectメニューに反映させたいのですが、自分の頭ではかなり難しい事のようで、行き詰ってしまいました。 質問の仕方が下手で、どのように書いていいのかわからないのですが、やりたいことは、 $list1の名前が$name1 $list2の名前が$name2 というように、$listと$nameに付けられた数値番号が同一のものがセットになります。 この両方の変数にデーターが入っている場合のみ、セレクトメニューに反映させます。 例えばlist.dat内が $list1,,$list3,,$list5,$name1,$name2,$name3,$name4,, のような場合は、 print "<select name=list>\n"; print "<option value="0">未選択</option>\n"; print "<option value="1">$name1</option>\n"; print "<option value="3">$name3</option>\n"; print "</select>\n"; このようになります。 上のような作りは無理でしょうか? お力をおかし頂けると幸いです。

    • ベストアンサー
    • Perl