Логическая ошибка для отображения данных таблицы MySQL

У меня есть функция в приложении для электронной коммерции, называемое кредитами магазина (авансовый платеж), в котором клиент может выкупить кредиты магазина, если у него есть на его счету.

Здесь все работает нормально.

Я хочу, чтобы я хотел отображать данные, подобные этому в разделе «Моя учетная запись»:

SC_OC S_OC SC_Amount SC_Alloted SC_Used SC_Balance ORD-0001 -- 1000 1100 0 1100 -- ORD-0001 -- -- 300 800 

SC_OC = Store_Credit_Order_Code

S_OC = Store_Order_Code

Всякий раз, когда клиент покупает кредиты в магазине, если SC_Alloted не равен 0 то кредит в магазине будет обновлять его, добавив его. Так будет:

 SC_OC S_OC SC_Amount SC_Alloted SC_Curent SC_Used SC_Balance ORD-0001 -- 1000 1100 1100 0 1100 -- ORD-0001 -- -- 1100 300 800 ORD-0002 -- 2500 2800 3600 0 3600 

Данные S_OC и SC_Used поступают из таблицы orders а остальные детали поступают из таблицы store_credits_orders .

Я получаю:

 SC_OC S_OC SC_Amount SC_Alloted SC_Curent SC_Used SC_Balance ORD-0001 ORD-0001 1000 1100 1100 0 1100 ORD-0001 ORD-0001 1000 1100 1100 300 800 ORD-0002 ORD-0001 2500 2800 3600 0 3600 

Вот код PHP, который я пробовал:

 <?php $table = ''; $queryToGetStoreCredit = "SELECT * FROM store_credits_orders sco, orders ord WHERE sco.SCO_CustEmailAdd = '".$_SESSION["Customer"]["email"]."' AND ord.CustEmailAdd = '".$_SESSION["Customer"]["email"]."' AND ord.CustEmailAdd = sco.SCO_CustEmailAdd"; $validate->Query($queryToGetStoreCredit); if ($validate->NumRows() >= 1) { while ($rows_sco = $validate->FetchAllDatas()) { $i = 0; $table .= '<tr>'; $table .= '<td>'.$rows_sco["SCO_OrderCode"].'</td>'; $table .= '<td>'.$rows_sco["OrderCode"].'</td>'; $table .= '<td>'.$rows_sco["SCO_OrderDate"].'</td>'; $table .= '<td>'.$rows_sco["SCO_Purchase_Amount"].'</td>'; $table .= '<td>'.$rows_sco["SCO_Credit_Alloted"].'</td>'; $table .= '<td>'.$rows_sco["AppliedCredits"].'</td>'; $table .= '<td>'.$rows_sco["SCO_Credit_Alloted"].'</td>'; $table .= '</tr>'; } } ?> 

Как мне это достичь?

Любая помощь высоко ценится.

Обновление 1:

После ответа RST я получаю следующий вывод:

 SC_OC S_OC SC_Amount SC_Alloted SC_Curent SC_Used SC_Balance ORD-0001 -- 1000 1100 1100 0 1100 ORD-0001 -- 1000 1100 1100 300 800 ORD-0002 -- 2500 2800 3600 0 3600 

Обновление 2:

Я как-то пытался получить желаемый результат. Но я не могу получить более одного результата, то есть если в store_credits_orders больше 1 заказа, я получаю только 1-й результат, а не другие. Вот код:

 <?php $queryToGetStoreCredit = "SELECT * FROM store_credits_orders WHERE SCO_CustEmailAdd = '".$_SESSION["Customer"]["email"]."'"; $validate->Query($queryToGetStoreCredit); if ($validate->NumRows() >= 1) { while ($rows_sco = $validate->FetchAllDatas()) { $used = $i = 0; $table .= '<tr>'; $table .= '<td>'.$rows_sco["SCO_OrderCode"].'</td>'; $table .= '<td>--</td>'; $table .= '<td>'.$rows_sco["SCO_OrderDate"].'</td>'; $table .= '<td>'.$rows_sco["SCO_Purchase_Amount"].'</td>'; $table .= '<td>'.$rows_sco["SCO_Credit_Alloted"].'</td>'; $table .= '<td>'.$used.'</td>'; $table .= '<td>'.( $rows_sco["SCO_Credit_Alloted"] - $used ).'</td>'; $table .= '</tr>'; $queryToGetOrder = "SELECT * FROM orders WHERE CustEmailAdd = '".$rows_sco["SCO_CustEmailAdd"]."'"; $validate->Query($queryToGetOrder); while ($row = $validate->FetchAllDatas()) { $table .= '<tr>'; $table .= '<td>--</td>'; $table .= '<td>'.$row["OrderCode"].'</td>'; $table .= '<td>--</td>'; $table .= '<td>--</td>'; $table .= '<td>--</td>'; $table .= '<td>'.$row["AppliedCredits"].'</td>'; $table .= '<td>'.($rows_sco["SCO_Credit_Alloted"] - $row["AppliedCredits"]).'</td>'; $table .= '</tr>'; } } } ?> 

Обновление 3:

После комментария RST, используя print_r() в $rows_sco , я получаю следующий результат массива:

 Array ( [SCO_Id] => 1 [SCO_OrderCode] => ORD-000001 [SCO_CustEmailAdd] => harishmdesai@yahoo.com [SCO_Purchase_Amount] => 1 [SCO_Credit_Alloted] => 100 [SCO_OrderDate] => 2015-03-19 16:45:19 [SCO_OrderIP] => 115.97.1.132 [OrderId] => 1 [OrderCode] => ORD-000001 [CustEmailAdd] => harishmdesai@yahoo.com [CustDelAddId] => 1 [ProdCode] => PK-0002-0004 [Quantity] => 1 [PaytMethod] => 2 [ShippingCharges] => 1 [TaxedAmount] => 1 [AppliedCredits] => 10 [PayableAmount] => 2 [OrderDate] => 2015-03-19 16:53:46 [OrderModified] => 0000-00-00 00:00:00 [OrderStatus] => In Process [OrderIPAddress] => 115.97.1.132 ) Array ( [SCO_Id] => 2 [SCO_OrderCode] => ORD-000002 [SCO_CustEmailAdd] => harishmdesai@yahoo.com [SCO_Purchase_Amount] => 1 [SCO_Credit_Alloted] => 100 [SCO_OrderDate] => 2015-03-19 17:01:25 [SCO_OrderIP] => 115.97.1.132 [OrderId] => 1 [OrderCode] => ORD-000001 [CustEmailAdd] => harishmdesai@yahoo.com [CustDelAddId] => 1 [ProdCode] => PK-0002-0004 [Quantity] => 1 [PaytMethod] => 2 [ShippingCharges] => 1 [TaxedAmount] => 1 [AppliedCredits] => 10 [PayableAmount] => 2 [OrderDate] => 2015-03-19 16:53:46 [OrderModified] => 0000-00-00 00:00:00 [OrderStatus] => In Process [OrderIPAddress] => 115.97.1.132 ) Array ( [SCO_Id] => 1 [SCO_OrderCode] => ORD-000001 [SCO_CustEmailAdd] => harishmdesai@yahoo.com [SCO_Purchase_Amount] => 1 [SCO_Credit_Alloted] => 100 [SCO_OrderDate] => 2015-03-19 16:45:19 [SCO_OrderIP] => 115.97.1.132 [OrderId] => 2 [OrderCode] => ORD-000002 [CustEmailAdd] => harishmdesai@yahoo.com [CustDelAddId] => 2 [ProdCode] => PK-0002-0004 [Quantity] => 1 [PaytMethod] => 2 [ShippingCharges] => 1 [TaxedAmount] => 1 [AppliedCredits] => 0 [PayableAmount] => 12 [OrderDate] => 2015-03-20 09:30:02 [OrderModified] => 0000-00-00 00:00:00 [OrderStatus] => In Process [OrderIPAddress] => 115.97.1.132 ) Array ( [SCO_Id] => 2 [SCO_OrderCode] => ORD-000002 [SCO_CustEmailAdd] => harishmdesai@yahoo.com [SCO_Purchase_Amount] => 1 [SCO_Credit_Alloted] => 100 [SCO_OrderDate] => 2015-03-19 17:01:25 [SCO_OrderIP] => 115.97.1.132 [OrderId] => 2 [OrderCode] => ORD-000002 [CustEmailAdd] => harishmdesai@yahoo.com [CustDelAddId] => 2 [ProdCode] => PK-0002-0004 [Quantity] => 1 [PaytMethod] => 2 [ShippingCharges] => 1 [TaxedAmount] => 1 [AppliedCredits] => 0 [PayableAmount] => 12 [OrderDate] => 2015-03-20 09:30:02 [OrderModified] => 0000-00-00 00:00:00 [OrderStatus] => In Process [OrderIPAddress] => 115.97.1.132 ) 

PS : Все значения поступают из базы данных.