レシピサイトで玉ねぎを詳細ページに飛ばす方法

このQ&Aのポイント
  • cooking.phpにはCOOKINGテーブルのデータが表示されるが、玉ねぎを詳細ページに飛ばしたい。
  • cookingテーブルのingredientに<a href="http://example.com/food_detail?id=1">玉ねぎ</a>と入力する方法を考えている。
  • もっとシンプルなやり方はないか教えてほしい。
回答を見る
  • ベストアンサー

レシピサイト

いつもお世話になってます。 今回お聞きしたいことは cooking.phpにはCOOKINGテーブルのデータが表示されるんですが、 玉ねぎを 詳細ページに飛ばしたいのです。 food_detail.php?id=1(foodテーブル表示) データ入力にはPHPMYADMINを使用してます。 まずcookingテーブルの構造は idはauto_incrementを使用してます |id|img |name     |ingredient| ingredient2|ingredient3| ....etc   1   ../image/curry.jpg カレーライス     玉ねぎ      カレー粉     鶏肉    2   ../image/curry2.jpg 夏野菜ドライカレー 玉ねぎ      カレー粉     鶏肉    3  ../image/curry3.jpg きのこカレー 玉ねぎ カレー粉 マッシュルーム 次にfoodテーブルの構造は |id|img |name  | detail |   1   ../image/0001.jpg   玉ねぎ  たまねぎには・・・・・ 2   ../image/0002.jpg  カレー粉   カレー粉には・・・・・ 3  ../image/0003.jpg    鶏肉 鶏肉には・・・・・・ とこんな感じになってます 私が考えたのは cookingテーブルの ingredient に  <a href="http://example.com/food_detail?id=1>玉ねぎ</a>と入力したらいいのかなと?思ったんですけど・・・ もっとシンプルなやり方はないんでしょうか? 説明が下手で申し訳ないです。 ご教授よろしくお願い致します

noname#184272
noname#184272
  • MySQL
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

問題ないんじゃないでしょうか この構造でいけば、「玉ねぎとカレー粉をつかう料理」で検索もできるし、 分量ごとにカロリーや材料費の目安なんかもやろうと思えば計算できますね。 あとはチューニングしながらインデックスの貼り方を工夫していく ことになるとおもいますが、それは追って覚えていけばよいでしょう

noname#184272
質問者

お礼

見ていただきありがとうございました。 またお世話になると思いますが、その時はよろしくおねがいします

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

正規化の学習をなさることをお勧めします。 cookingテーブルの構造が冗長でありSQLの処理としては検索性を 生かせない作りに見えます。

noname#184272
質問者

補足

お返事ありがとうございます 正規化について解説しているサイトを見つけたので勉強してきました。 なんとか正規化できた?と思うので、間違いを指摘していただけると幸いです。 だいぶ混乱しました; ○テーブル-------------------------------------- id(主キー)| img       | name    |      1    ../image/curry.jpg  カレーライス     2    ../image/curry2.jpg  夏野菜ドライカレー    3    ../image/curry3.jpg  きのこカレー □テーブル--------------------------------------  □のテーブルが同じものが複数あり、正規化できてないような・・・(汗 id(外部キー)|f_id (外部キー) |    1         1   1         2  1         3  2         1  2         2  2         3  3         1  3         2  3         4 △テーブル-------------------------------------- f_id(主キー) | img       | name  | detail    1      ../image/0001.jpg 玉ねぎ たまねぎには・・・・・   2      ../image/0002.jpg カレー粉 カレー粉 には   3      ../image/0003.jpg 鶏肉   鶏肉には・・・   4      ../image/0004.jpg マッシュルーム   マッシュルームには・・・ よろしくおねがいします

関連するQ&A

  • PHPとCSVでレシピサイトを作る

    こんにちは☆ PHPとCSVでレシピサイトを作ってます。 MYSQLでの構築は知識が足らないのでCSVを用いています。 まず HTMLで下記のように書いて | 略 <a href=\"deatail.php?recipe=1\">作り方</a> カレーライス|30分|★★★★ <a href=\"deatail.php?recipe=2\">作り方</a> シチュー|10分|★★☆☆ deatail.phpで $code = $_GET[\'recipe\']; $code =htmlspecialchars($code); $fp = fopen(\"recipe.csv\", \"r\"); while ($data = fgetcsv($fp, 10000)) { if ($data[0]==$code) { print <<<HTML <table> <tr> <td>$data[1]</td> <td>$data[2]</td> | 略 </tr> recipe.csvはこんな感じです ID,名前,材料,一言 1,カレーライス,玉ねぎ/にんじん/セロリ/にんにく/鶏肉,初心者でも作りやすいよ 2,シチュー food.csv ID,名前,画像, 1,玉ねぎ,<img src=\"tamanegi.gif\"/> 2,にんじん<img src=\"ninjin.gif\"/> 3,セロリ<img src=\"serori.gif\"/> 4,にんにく<img src=\"ninniku.gif\"/> 5,鶏肉<img src=\"toriniku.gif\"/> さらに玉ねぎやにんじんetcの詳細をdeatail.phpに表示させたいんですが、どのようにすればいいのか・・・ 頭が混乱してます(>_<) 一応考えてみたんですが recipe.csvの材料の所に 1,カレーライス,<a href=\"food_deatail.php?food_id=1\">玉ねぎ</a>/<a href=\"food_deatail.php?food_id=2\">にんじん</a>/セロリ/にんにく/鶏肉,初心者でも作りやすいよ <a href=\"food_deatail.php?food_id=1\">玉ねぎ</a>と書いて food_deatail.phpで $code = $_GET[\'food_id\']; $code =htmlspecialchars($code); $fp = fopen(\"food.csv\", \"r\"); while ($data = fgetcsv($fp, 10000)) { if ($data[0]==$code) { print <<<HTML <table> <tr> <td>$data[1]</td> <td>$data[2]</td> こうするしか無いのでしょうか? 何か複雑で頭がコンフューズしております 是非ご教授よろしく願います。

    • ベストアンサー
    • PHP
  • 平野レミさんの料理番組での骨付き鶏肉カレーのレシピ教えて。

    10月だったと思います。朝の番組で料理研究科の平野レミ先生が骨付き鶏肉のカレーを作ってました。そのレシピが知りたいデス。ワタシの記憶が正しければ、骨付き鶏肉、玉ねぎ、ココナッツミルク、カレー粉、ガラムマサラ等の材料だったと思います。番組名も分からず、録画をしようとしましたが失敗してしまいました。宜しくお願いします。

  • MySQLで、日付最大のレコード抽出

    MySQLをJAVAで使っています。 指定キーの中で、一番日付の大きなレコード項目全てを 取り出したいのですが、 下記SQLだと、何も抽出されません。 何が間違っているのでしょうか? さらに、もっと簡単なSQL文はないでしょうか? SELECT * FROM food WHERE (food_id = 1) AND (food_name = 'みかん') AND (food_id = (SELECT MAX(date) FROM food WHERE (food_id = 1) AND (food_name = 'みかん'))) 与える検索キー項目は、food_id=1, food_name=みかん foodテーブル例 food_id  food_name   date --------------------------------- 1     みかん    2015-01-01 1     みかん    2015-02-01 1     みかん    null 1     みかん    2015-04-01 2     きんめだい  2015-01-01 2     じんたん   2015-02-01 2     コロッケ   2015-02-01

    • ベストアンサー
    • MySQL
  • チキンカレー(バターチキンマサラ)のレシピ

    昨日、カレー粉で作るチキンカレー(バターチキンマサラ)に挑戦して みました。 ただ、出来上がりが・・ 味が薄くなってしまい、最後にカレーのルウを二かけら入れました。 それでもまだ薄かった気がします。 何が足りなかったのか分からずモヤモヤしてます。 コンソメキューブとか入れたら良かったのか、カレー粉が少なかったのかどうなのでしょう。。。 昨日の使ったレシピを書きます。 何かアドバイスがあれば教えて頂けますでしょうか。。。 ★材料 ・鶏もも肉 600g ・ヨーグルト 300cc ・バター 120g ・にんにく 3かけ ・生姜  3かけ ・赤唐辛子 適量 ・たまねぎ 中3つ ・にんじん 2本 ・ナス  2本 ・カレー粉 大匙3杯 ・水 6カップ ・ホールトマト缶 3缶 ・牛乳 3カップ ・塩 適量 ・ウスターソース 適量 ・ガラムマサラ 適量 1.鶏もも600gを一口大に切ってヨーグルト300ccに1時間漬ける。 2.鍋にバター90g溶かし、ニンニク、しょうが、赤唐辛子炒め玉ねぎ大3、にんじん2本みじん切を20分くらい炒める。 3.カレー粉大さじ6を絡め、トマト缶3缶、ヨーグルトと鶏肉、ナスのぶつ切りを加えて混ぜる。 4.水6カップ、牛乳3カップ、塩少々加えて鍋蓋をずらしてかぶせ約1時間弱火で煮込む。 5.仕上にバター30g、ウスターソース少々、ガラムマサラ少々加える。 以上です。 物凄い量のカレーが出来ました。 あと、火の調節がよく分からずなのですが、 たまねぎ炒める時は強火、煮込むときは弱火でいいのでしょうか。 また、フライパンでたまねぎを炒めず、鍋で炒めてそのままカレー粉 等を足していったのですが良かったのでしょうか。 カレー粉から作るのは初めてで沢山質問してしまい申し訳ないです。 何方かアドバイス頂けましたら幸いです。 今週末にまた作ってみる予定です。

  • MySQLで、日付最大のレコード抽出

    MySQLをJAVAで使っています。 指定キーの中で、一番日付の大きなレコード項目全てを 取り出したいのですが、 下記SQLだと、何も抽出されません。 (今朝、ここで教えて頂いたSQL文です) 何が間違っているのでしょうか? さらに、もっと簡単なSQL文はないでしょうか? SELECT * FROM food WHERE (food_id = 1) AND (food_name = 'みかん') AND (karute_id = (SELECT MAX(date) FROM food WHERE (food_id = 1) AND (food_name = 'みかん'))) 与える検索キー項目は、food_id=1, food_name=みかん foodテーブル例 food_id  food_name   date --------------------------------- 1     みかん    2015-01-01 1     みかん    2015-02-01 1     みかん    null 1     みかん    2015-04-01 2     きんめだい  2015-01-01 2     じんたん   2015-02-01 2     コロッケ   2015-02-01

    • ベストアンサー
    • MySQL
  • 2つのテーブルにあるIDを1つのID(item_id)?にしたいです。

    2つのテーブルにあるIDを1つのID(item_id)?にしたいです。 このやり方は間違ってますか? ご指摘よろしくお願いします。 車テーブル car_id name  maker price 1   スープラ トヨタ 100 2   スカイライン 日産 100 食べ物テーブル food_id name price 1 リンゴ 100 2   バナナ 100 アイテムテーブル item_id car_id(外) food_id(外) 1 1 NULL 2 2 NULL 3 NULL 1 4 NULL 2

  • <body onload="display_image()">が実行されません

    いつもお世話になります。 下記java scriptにて画像(4枚)をランダムに表示させるようにしたいのですが、 なぜか<body onload="display_image()">が実行されず表示されません。 これを新規で移せば実行されるのですが、作成中のHTML上ではなぜか文字色がグレーとなり実行されません。 アドバイスお願い致します。 <div align="center"><br /> <Script type="text/javascript"> <!-- var iValue, rNumber; var img1 = new Image(); var img2 = new Image(); var img3 = new Image(); var img4 = new Image(); img1 = "img/img1.jpg"; img2 = "img/img2.jpg"; img3 = "img/img3.jpg"; img4 = "img/img4.jpg"; function display_image(){ iValue = Math.random() * 4; rNumber = Math.ceil(iValue); if(rNumber==0) rNumber++; document.image1.src=eval("img" + rNumber); } //--> </Script> <body onload="display_image()"> <img src="image8" name="image8" width="700" height="400" id="image8" /></div> </Body>

  • ジャバスクリプトでクリックして画像を切り替えていま

    画像は一つのスライドセットに5枚ほど用意してあり、 今回、あらたにもう一セット同じページに追加したところ、相互のく動作がうまくいきません。 コードをジャバスクリプトの部分だけコピーしてみます。どこかに誤りがあったら是非ご教授ください。 <div id="nav2"> <ul class="imagelist"> <li><a class="current" href="#image1">1</a></li> <li><a href="#image2">2</a></li> <li><a href="#image3">3</a></li> <li><a href="#image4">4</a></li> <li><a href="#image5">5</a></li> <li><a href="#image6">6</a></li> </ul> </div> <div id="nav3"> <ul class="imagelist"> <li><a class="current" href="#image7">1</a></li> <li><a href="#image8">2</a></li> <li><a href="#image9">3</a></li> <li><a href="#image10">4</a></li> <li><a href="#image11">5</a></li> </ul> </div> : : : <div id="slideshow"> <img id="image1" src="/livingimg/002.jpg"alt="Image 1" /> <img id="image2" src="/livingimg/031.jpg" alt="Image 2" /> <img id="image3" src="/livingimg/6039.jpg" alt="Image 3" /> <img id="image4" src="/livingimg/6336.jpg" alt="Image 4" /> <img id="image5" src="/livingimg/5563.jpg" alt="Image 5" /> <img id="image6" src="/livingimg/5860.jpg" alt="Image 6" /> </div> <div id="slideshow"> <img id="image7" src="/interiorimg/035akari.jpg"alt="Image 7" /> <img id="image8" src="/interiorimg/034.jpg" alt="Image 8" /> <img id="image9" src="/interiorimg/5923akari.jpg" alt="Image 9" /> <img id="image10" src="/interiorimg/akari190.jpg" alt="Image 10" /> <img id="image11" src="/interiorimg/5866akari.jpg" alt="Image 11" /> </div> こんな具合です。またhead部分に <style type="text/css"> <!-- #slideshow img{ display: none; } --> </style> と書いてあります。これで回答いただくことに必要な情報は十分でしょうか もちろん一つのセットの場合は正常に動作しています。 宜しくお願いします。 補足 ちなみに url は http://brownpaper.biz/interior.htm です。

  • changeImgによる画像の入れ替え時のIEにおける不安定さ

    changeImgで画像を入れ替えたいのですが、 FireFoxでは問題ないのですが、 IEだと、画像が表示されない、半分だけ表示される、等の現象が発生してしまいます。 表示されないときに右クリックの画像を表示するにすると表示されます。 http://inoue.sub.jp/test/ ソースは ************************** function changeImg(iName,img){ document.images[iName].src=img; } ************************** <img height="344" border="0" width="230" name="tar01" id="tar01" alt="" src="img/01.jpg"/> <a onclick="changeImg('tar01','img/01.jpg');" onmouseout="changeImg('tar02','img/07.jpg')" onmouseover="changeImg('tar02','img/08.jpg');" href="javascript:void(0);"> <img height="83" border="0" width="50" name="tar02" id="tar02" alt="" src="img/07.jpg"/></a> <a onclick="changeImg('tar01','img/02.jpg');" onmouseout="changeImg('tar03','img/09.jpg')" onmouseover="changeImg('tar03','img/10.jpg');" href="javascript:void(0);"> <img height="83" border="0" width="50" name="tar03" id="tar03" alt="" src="img/09.jpg" class="pl5"/></a> になります。 何処がおかしいのでしょうか?どうぞよろしくお願いいたします。

  • スワップイメージのフェード方法を教えてください

    はじめまして。 スワップイメージを、あるサイトを参考に作ってみました。 それにフェードイン/フェードアウトを追加したいのですが、いろいろと試してみましたができません。 JavaScriptは全く分からず、困っています。 お助けください。お願いします。 ちなみに以下がスワップイメージのソースです。 image画面に表示する際、フェードイン/アウトを追加してもらえると助かります。 <HEAD>  <script language="JavaScript">  <!--  Img = new Array()  Img[0]="img/image1.jpg"  Img[1]="img/image2.jpg"  Img[2]="img/image3.jpg"  AImgs = new Array()  for (i=0 ; i<Img.length ; i++){    AImgs[i] = new Image()   AImgs[i].src = Img[i]  }  function Swap(a,b){   a=a.name   document.images[a].src = Img[b]  }  //-->  </script> </HEAD> <BODY>  <TABLE>   <TR>    <TD><IMG src="img/image1.jpg" name="image"></TD>   </TR>   <TR>     <TD><A href="#" onmouseover="Swap(image,1)" onmouseout="Swap(image,0)"><img src="img/image2.jpg"></A></TD>    <TD><A href="#" onmouseover="Swap(image,2)" onmouseout="Swap(image,0)"><img src="img/image3.jpg" ></A></TD>   </TR>  </TABLE> </BODY>