人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

まず始めに目的ですが、
「問屋が取り扱っている商品の一覧を表示する」です。
PHPとMySQLを使います。

■商品テーブル
[商品ID][商品名][価格]のフィールド

■仕入先テーブル
[仕入先ID][問屋名]のフィールド

ここまでそれぞれにレコードを入れて準備できています。

ここからよくわからないのですが、中間テーブルを作って
[商品ID][商品名][問屋名]
を表示するクエリ作ればいいのかなと考えています。

そして最終的に結果をPHPを使って出力したいと思っています。

PHP表示例
----------------------
問屋A
・商品a
・商品c
・商品d
・商品g
----------------------
配列に入れてしまえはいいと思うのですが、まだ経験不足で想像できません。
中間テーブルの作成からこ結果の表示までどのようなコードを書いたらいいか教えてください。

●質問者: plugbot
●カテゴリ:ウェブ制作
✍キーワード:MySQL PHP クエリ コード フィールド
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● masapguin
●60ポイント

前提について確認したいのですが

・商品IDはどの仕入先でも同じ商品については同じIDが共通につく

・仕入先は複数ある

で問題ないでしょうか。


となると、もうひとつ「それぞれの仕入先がどの商品を持っているか」テーブル(在庫テーブルとします)を作成し、それを一覧表示することになるとおもいます。

テーブル構造は

[在庫データID(オートナンバー)][仕入先ID][商品ID]([数量])

くらいになるでしょうか。


それぞれの仕入先(問屋)がどの商品を持っているのか、自動的には判別できませんのでここは手入力になると思いますが、これが準備できれば



$conn = mysql_connect(*********************);

$sql = "SELECT * FROM 在庫テーブル, 商品テーブル, 仕入先テーブル WHERE 在庫.仕入先ID = 仕入先.仕入先ID AND 在庫.商品ID = 商品.商品ID ";

$result = mysql_query($conn,$sql);

//DBより在庫データ一覧を取得

while($row = mysql_fetch_assoc($result)){

//ここで配列に $data[仕入先ID][商品ID] = 商品名 のような形で格納していきます

}

foreach($data as $key => $val){

echo $val[仕入先ID][仕入先名];

foreach($data[仕入先ID] as $key2 => $val2){

echo $val2[商品ID][商品名];

}

}

のようなかたちになるかとおもいます。

◎質問者からの返答

前提がおかしかったですね(汗)

確かに在庫テーブルを作ればOKということですね。

最初からデータベースの設計を見直します。

コード参考になりました。

お付き合いいただきありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ