2 つのテーブルがあります。sublevel と subcat1。sublevel には製品ヘッダーまたは集合グループ名が含まれ、もう 1 つの subcat1 にはすべての実際の製品が含まれます。
これがサブレベル テーブルです。
CategoryID SublevelID Name
67 1 Anaesthsia Thermometers
67 2 Forehead Thermometers
67 3 Drug Testing Thermometers
67 4 Drug Testing Thermometers
これがもう 1 つのテーブル、subcat1 です。
CategoryID SublevelID SubCatName
67 2 12 Level Thermometer
67 1 Clinitrend
67 2 Forehead Thermometer
67 3 Briteline
67 3 BriteEvent
私が欲しいのは出力であり、私が出力を意味するとき、私はphpコードでこのようなものであることを意味します;
麻酔温度計- Clinitrend
額用体温計- 6 イベント使い捨て、6 イベント再利用可能、12 イベント
薬物検査用体温計- Briteline、BriteEvent
私が常に直面している問題は、各製品で同じヘッダーを繰り返し続けていることですが、それは 1 回だけにしたいということです。GROUP BY、DISTINCT、および LEFT JOIN を試しましたが、取得されるすべての製品で、それがカテゴリ ヘッダーであることを示しています。おそらくクエリを間違った方法で見ていることはわかっています...変更できる新しいことを考えるたびに私が失敗したクエリ..
別の見方をするために、理想的な出力と一緒にテーブル構造を描いたこともありましたが、私の脳はそのようには機能しません..
function catLevelsName(){
// This would be used to select which category $cat_id = $_GET['cat_id'];
global $dbc;
$query = "SELECT subcat1.SubCatName FROM subcat1 RIGHT JOIN sublevel ON sublevel.CategoryID = subcat1.CategoryID";
$result = mysqli_query($dbc, $query) or die(mysqli_error(). "<p>with query;<br />$query");
while($row = mysqli_fetch_array($result)){
echo $row['Name'];
echo $row['SubCatName'];
}
私が間違っていることへのポインタはありますか?
ps。私の書式設定について、百万の謝罪。