これは重複していると確信していますが、これはいくつかのばかげた質問であると確信しています。私は決してMySQLのエキスパートではなく、SKU_IDと関連した製品SKUとオプションのためのちょっとしたデータベースがあります。複数のテーブルとMySQLでの関係
私は$ productIdという商品を持っています.3色(ピンク、パープル、ブラック)のTシャツです。ここで(のみ関連情報を示す)、データベースの情報です:
tbl_skus
SKU_ID SKU_ProductID
62 32
63 32
64 32
62 32
62 32
67 32
tbl_skuoption_rel
optn_rel_SKU_ID optn_rel_Option_ID
62 32
62 34
63 34
63 33
64 35
64 32
65 35
65 33
66 36
66 32
67 36
67 33
tbl_skuoptions
option_ID option_Type_ID option_Name option_Sort
32 5 Small 1
33 5 Medium 2
34 6 Pink 1
35 6 Purple 2
36 6 Black 3
上司と私はこの考えの上におそらくあり、そして私は私のクエリに参加して仲良くしないでください。それが私がこの仕事をするために必要とするものなら、そうすることができますが、私はもっとトリックスターです。ここに私の試みだ:
$SKU_QUERY = mysql_query("SELECT SKU_ID FROM tbl_skus WHERE SKU_ProductID = '$productId'") or die(mysql_error());
$SKU_NUM_ROWS = mysql_num_rows($SKU_QUERY);
if($SKU_NUM_ROWS > 0) {
while($SKU_OBJECT = mysql_fetch_object($SKU_QUERY)) {
$SKU_ID = $SKU_OBJECT->SKU_ID;
$REL_OPTION_QUERY = mysql_query("SELECT optn_rel_Option_ID FROM tbl_skuoption_rel WHERE optn_rel_SKU_ID = '$SKU_ID' LIMIT 0,1") or die(mysql_error());
$REL_OPTION_NUM_ROWS = mysql_num_rows($REL_OPTION_QUERY);
if($REL_OPTION_NUM_ROWS > 0) {
while($REL_OPTION_OBJECT = mysql_fetch_object($REL_OPTION_QUERY)) {
$OPTION_ID = $REL_OPTION_OBJECT->optn_rel_Option_ID;
$OPTIONS_QUERY = mysql_query("SELECT option_Name FROM tbl_skuoptions WHERE option_ID = '$OPTION_ID' AND option_Type_ID = '6' ORDER BY option_sort LIMIT 0,1") or die(mysql_error());
$OPTIONS_NUM_ROWS = mysql_num_rows($OPTIONS_QUERY);
if($OPTIONS_NUM_ROWS > 0) {
$OPTIONS_OBJECT = mysql_fetch_object($OPTIONS_QUERY);
echo "$OPTIONS_OBJECT->option_Name, ";
}
}
}
}
}
ここに私の結果です: ピンク、パープル、パープル、ブラック、ブラック
私はちょうど余分な色の名前を取ることができるなら、私は大丈夫です。私は最大5〜6色以上を行っていないので、ロードに関する懸念は私の意見では必要ではありません。もう一度、参加することによってのみ可能なら、それをやります。しかし、私の10分の試みは、私がこのようにすることができることを証明するようです。
ご協力いただき、ありがとうございます。
私の謝罪:
EDIT ---
は私が結果として望ん含めるのを忘れていました。今のところ私がしようとしているのは、色を扱うオプションの文字列を作成することです。だから私の現在の結果は "ピンク、紫、黒、黒"と私の結果は "ピンク、紫、黒"になるはずです。私はそれがこのような狂気のための簡単な結果であることを知っていますが、私は後でそれを拡張します。
はあなたがいくつかの文章で探している結果を説明してもらえますか? – abesto
全体的に、何が起こりたいですか?あなたはあなたが尋ねたいと思ったことを忘れてしまったという背景についてあまり説明していないようです。 – Joseph
私の謝罪です。今のところ私がしようとしているのは、色を扱うオプションの文字列を作成することです。だから私の現在の結果は "ピンク、紫、黒、黒"であり、私の結果は** "ピンク、紫、黒"でなければなりません。私はそれがこのような狂気のための簡単な結果であることを知っていますが、私は後でそれを拡張します。 – lxndr