Podwójne wyniki po zapytaniu Mysql

Dla rozpoczynających przygodę z programowaniem i językiem PHP.
Awatar użytkownika
xaitras
Posty: 1
Rejestracja: 03 lis 2016, 11:07

Podwójne wyniki po zapytaniu Mysql

Post autor: xaitras » 03 lis 2016, 11:20

Witam wszystkich!

Ponieważ męczę się z problemem już jakiś czas zdecydowałem się napisać na forum bo już mi ręce opadają.
Mam takie zapytanie:

Kod: Zaznacz cały

 $zapytanie = "
 
SELECT DISTINCT o.orders_id, o.date_purchased, o.delivery_name, o.delivery_street_address, o.delivery_postcode,
	  o.delivery_city, o.shipping_module, o.customers_telephone, o.customers_email_address,
	  op.products_quantity, op.products_price, op.products_name, ot.value AS koszty_przesylki
      FROM orders o
      LEFT JOIN orders_products op ON op.orders_id = o.orders_id
	  LEFT JOIN orders_total ot ON ot.orders_id = o.orders_id WHERE ot.sort_order = 15
	  ORDER BY orders_id";

 
 $wynik = mysql_query($zapytanie);

  
  
 while ( $row = mysql_fetch_assoc($wynik) ) {
 

	echo    "<table width='1210px' style='margin-bottom:20px; text-align:center; font-size:14px;'>";
	
	echo    "<tr bgcolor='#ccc'>";
	echo    "<td width='30px' style='border: solid 1px; padding-left:3px;'><b>ID</b></td>";
	echo    "<td width='70px' style='border: solid 1px'><b>DATA</b></td>";
	echo    "<td width='100px' style='border: solid 1px'><b>KLIENT</b></td>";
	echo    "<td width='50px' style='border: solid 1px'><b>KOD</b></td>";
	echo    "<td width='100px' style='border: solid 1px'><b>ADRES</b></td>";
	echo    "<td width='70px' style='border: solid 1px'><b>MIASTO</b></td>";
	echo    "<td width='60px' style='border: solid 1px'><b>TELEFON</b></td>";
	echo    "<td width='150px' style='border: solid 1px'><b>EMAIL</b></td>";	
	echo    "<td width='300px' style='border: solid 1px'><b>NAZWA PRODUKTU</b></td>";	
	echo    "<td width='20px' style='border: solid 1px'><b>ILOŚĆ</b></td>";
	echo    "<td width='20px' style='border: solid 1px'><b>CENA</b></td>";
	echo    "<td width='100px' style='border: solid 1px'><b>WYSYŁKA</b></td>";
	echo    "<td width='20px' style='border: solid 1px'><b>SUMA</b></td>";
    echo    "</tr>";
    
	echo 	"<tr>";
    echo 	"<td width='30px' style='border: solid 1px'>" . $row['orders_id']. "</td>";
	echo 	"<td width='70px' style='border: solid 1px'>" . $row['date_purchased']. "</td>";
	echo	"<td width='100px' style='border: solid 1px'>" . $row['delivery_name'] . "</td>"; 
	echo	"<td width='50px' style='border: solid 1px'>" . $row['delivery_postcode'] . "</td>";
	echo	"<td width='100px' style='border: solid 1px'>" . $row['delivery_street_address'] . "</td>"; 
	echo	"<td width='70px' style='border: solid 1px'>" . $row['delivery_city'] . "</td>";	
	echo	"<td width='60px' style='border: solid 1px'>" . $row['customers_telephone'] . "</td>";	
	echo	"<td width='150px' style='border: solid 1px'>" . $row['customers_email_address'] . "</td>";
	echo    "<td width='300px' style='border: solid 1px'>" . $row['products_name'] . "</td>";  	
	echo    "<td width='20px' style='border: solid 1px'>" . $row['products_quantity'] . "</td>";
    echo    "<td width='20px' style='border: solid 1px'>" . $row['products_price'] . "</td>";
	echo	"<td width='100px' style='border: solid 1px'>" . $row['shipping_module']. " " . $row['koszty_przesylki'] . "</td>";
	
$suma_zakupow = (($row['products_quantity']*$row['products_price'])+$row['koszty_przesylki']);
	
	echo	"<td width='20px' style='border: solid 1px'>" . $suma_zakupow . "</td>";		
	echo    "</tr>";  
	
	echo    "</table>";
}
Efekt jest taki, że dane wyświetla mi poprawnie z jednym wyjątkiem. W bazie produkty do każdego zamówienia zapisane są w kolejnych wierszach. Jeśli klient zamówi jeden produkt jest spoko. Jeśli zamówi więcej produktów zaczyna się zabawa bo wyświetlają się kolejne tabelki z nazwą klienta itd. (w każdej jeden produkt). Chciałbym aby do każdego klienta sumowało jego produkty i wyświetlało wszystko w jednej tabelce a nie w kilku.
Pomóżcie bo nie mam już siły kombinować..

Dzięki
Dekoracje weselne, prezenty ślubne i urodzinowe.
www.wydekorowani.pl

ODPOWIEDZ