2016-09-26 3 views
-3

Во-первых, таблицаКак петля таблицы с помощью PHP MySQL

Таблица продукта

MO_code | product_code | product_name | product_qty | 
-------------------------------------------------------- 
MO0001  A00001  Cup_Box 3x3   9 

Таблица пункт

MO_code | item_code | item_name | item_qty | 
-------------------------------------------------- 
MO0001 Aa00001  cup_red   3 
MO0001 Ab00001  cup_blue  3 
MO0001 Ac00001  cup_green  3 

, как вы можете видеть, продукт A00001 сделан из пункта в пункт таблицы , Теперь я хочу сделать отчет, который объединяет эти 2 таблицы, и зацикливать его в определенном диапазоне дат. Я уже создаю запрос, но мне сложно создать отчет. Может у меня учить алгоритм так показать таблицу на PHP, как это ..

MO_code|product_code|product_name|product_qty|item_code|item_name|item_qty| 
--------------------------------------------------------------------------- 
MO0001 A0001  Cup_box 3x3  9  | Aa00001 cup_red  3 
              | Ab00001 cup_blue 3 
              | Ac00001 cup_green 3 
+0

Какой запрос вы пробовали? –

+0

Либо запустите соединение в двух таблицах, используя mo_code, либо выберите продукт, а затем еще один запрос, чтобы выбрать элементы для этого кода элемента. Создайте массив на вашей переменной продукта, чтобы хранить элементы. –

+0

. Я не совсем понимаю, что вы после! – Shadow

ответ

0

использование присоединиться заявление, как следующим образом:

SELECT product.MO_code,product.product_code,product.product_name,product.product_qty,GROUP_CONCAT(item.item_code) AS item_code,GROUP_CONCAT(item.item_name) AS item_name, GROUP_CONCAT(item.item_qty) AS item_qty 
FROM product 
LEFT JOIN item ON product.MO_code = item.MO_code 
0

Для того, чтобы получить этот результат, необходимо соединить эти две таблицы база по MO_Code, это соединение будет объединять строки, которые имеют такое же MO_Code

<?php 
$servername = "localhost"; 
$username = "username"; 
$password = "password"; 
$dbname = "myDB"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT * FROM Product p join item i on p.MO_code=i.MO_code"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
// output data of each row 
while($row = $result->fetch_assoc()) { 
    echo "MO_code: " . $row["MO_code"]. " - product_code: " . 
    $row["product_code"]. " -item_name:" . $row["item_name"]. "<br>";//you can add any column 
    } 
    } else { 
    echo "0 results"; 
    } 
    $conn->close(); 
?> 

для того, чтобы создать свой запрос на выборку на основе конкретных дат, вам нужен новый столбец DATETIME в таблице продуктов.

+0

Я пробовал ваш код, но он продолжает повторять продукт. Мне нужно, чтобы продукт не повторял предмет. –

Смежные вопросы