我在MySQL中有两个表格,一个表格包含葡萄酒的详细信息,第二个表格包含具有链接到葡萄酒表格ID每个在盒子里的瓶子。MySQL JOIN查询连接基于多个单元格的表格并输出到PHP
例如, :
葡萄酒 .ID 请将.Name .Year 。说明
盒 .BoxID 请将.Name .Bottle1 .Bottle2 - > ... .Bottle12
所以如果我有一个有6个瓶子的葡萄酒盒,.Bottle1到.Bottle6的字段将包含葡萄酒桌上瓶子的ID。
我想在PHP是连接这两个表并输出运行SELECT查询在我的网页如下:
箱XXX “酒例2瓶” “瓶“酒例1瓶”酒示例3" 的 ‘酒范例4瓶’ ‘酒举例5瓶’ ‘酒example6’瓶
,如果盒子只有1瓶葡萄酒将显示
箱XXX “酒例1瓶”
- 编辑 -
我试图下面的代码是不工作...
<?php
session_start();
include("dbconnect.php");
$box_sql="SELECT a.*
FROM box a left join
WineID b1 on a.bottle1=b1.WineID left join
WineID b2 on a.bottle2=b2.WineID left join
WineID b3 on a.bottle3=b3.WineID left join
WineID b4 on a.bottle1=b4.WineID left join
WineID b5 on a.bottle1=b5.WineID left join
WineID b6 on a.bottle1=b6.WineID left join
WineID b7 on a.bottle1=b7.WineID left join
WineID b8 on a.bottle1=b8.WineID left join
WineID b9 on a.bottle1=b9.WineID left join
WineID b10 on a.bottle1=b10.WineID left join
WineID b11 on a.bottle1=b11.WineID left join
WineID b12 on a.bottle1=b12.WineID left join
where (b1.WineID is not null or
b2.WineID is not null or
b3.WineID is not null or
b4.WineID is not null or
b5.WineID is not null or
b6.WineID is not null or
b7.WineID is not null or
b8.WineID is not null or
b9.WineID is not null or
b10.WineID is not null or
b11.WineID is not null or
b12.WineID is not null)";
if($box_query=mysqli_query($dbconnect, $box_sql)) {
$box_rs=mysqli_fetch_assoc($box_query);
?>
<h1><?php echo $box_rs['boxnumber']; ?></h1>
<?php do { ?>
<div class="item">
<a href="index.php?page=item&stockID=<?php echo $box_rs['WineID']; ?>">
<p><?php echo $box_rs['Name']; ?></p>
</a>
</div>
<?php
} while ($box_rs=mysqli_fetch_assoc($box_query));
?>
<?php
}
?>
------ ----- EDIT -----------
描述葡萄酒输出下面=
Field Type Null Key Default Extra
WineID int(4) NO PRI NULL auto_increment
categoryID int(1) NO NULL
Name varchar(100) NO NULL
Winery varchar(30) NO NULL
Year varchar(4) NO NULL
Country varchar(20) NO NULL
Region varchar(30) NO NULL
ABV varchar(6) NO NULL
bottlesize varchar(6) NO NULL
Grape varchar(100) NO NULL
Notes varchar(2046) NO NULL
ReadyEst varchar(15) NO NULL
Picture varchar(100) NO NULL
Price varchar(10) NO NULL
DESCRIBE箱输出低于=
Field Type Null Key Default Extra
boxID int(11) NO PRI NULL auto_increment
boxnumber varchar(10) NO NULL
year varchar(4) NO NULL
size varchar(2) NO NULL
bottle1 varchar(3) NO NULL
bottle2 varchar(3) NO NULL
bottle3 varchar(3) NO NULL
bottle4 varchar(3) NO NULL
bottle5 varchar(3) NO NULL
bottle6 varchar(3) NO NULL
bottle7 varchar(3) NO NULL
bottle8 varchar(3) NO NULL
bottle9 varchar(3) NO NULL
bottle10 varchar(3) NO NULL
bottle11 varchar(3) NO NULL
bottle12 varchar(3) NO NULL
这篇文章没有显示任何研究,本网站并不是一个代码请求平台。有很多关于通过PHP运行MySQL查询的教程。这里有一个例子可以让你开始:https://www.w3schools.com/php/php_mysql_connect.asp – Daniel
好吧,谢谢你。 – Chris
对于其他人 - 我一直在尝试下面的查询这是返回错误\t $ box_sql =“SELECT A * \t \t \t从框中左连接 \t \t WineID B1上a.bottle1 = b1.WineID左加入 \t。 \t其中(b1.WineID不为空或... – Chris