У меня есть две таблицы в MySQL, одна таблица содержит детали вин, вторая таблица содержит сведения о коробках со столбцами, которые ссылаются на идентификатор таблицы винов для каждая бутылка находится в коробке.MySQL JOIN запрос для объединения таблиц на основе множественных ячеек и вывода на PHP
Например. :
Вина .id .Name .Year .description
Коробки .BoxID .Name .Bottle1 .Bottle2 -> ... .Bottle12
так что если У меня есть коробка вина, в которой есть 6 бутылок, поля для .Bottle1 через. Bottle6 будет содержать идентификатор бутылки со стола Винов.
Я хочу запустить запрос на выборку в PHP, который соединяет эти две таблицы и выводит следующее в моей веб-странице:
Box-XXX «Бутылка вина example1» «Бутылка вина example2» «Бутылка вина example3" „Бутылка вина“ Example4 „Бутылка вина“ Example5 „Бутылка вина Example6“
и если коробка имеет только одну бутылку вина он будет отображать
Box-XXX "Бутылка вина example1"
--EDIT--
Я пытаюсь следующий код, который не работает ...
<?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
ОПИСАТЬ выход коробки ниже =
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
В этом сообщении не показано исследований, этот сайт не предназначен для платформы с кодовым запросом. Существует множество многих обучающих программ по запуску MySQL-запросов через PHP. Вот один из примеров, чтобы начать: https://www.w3schools.com/php/php_mysql_connect.asp – Daniel
ОК хорошо спасибо за это. – Chris
Для других - я пытался следующий запрос, который возвращает ошибки \t $ box_sql = "SELECT а * \t \t \t ИЗ коробки левый присоединиться \t \t WineID b1 на a.bottle1 = b1.WineID оставили присоединиться \t. \t где (b1.WineID не является нулевым или ... – Chris