Folosesti acea variabila $total_price pe care inteleg ca ai initializat-o cu valoarea 0. Apoi, la fiecare iteratie, incrementezi variabila cu valoarea rezultatului operatiei pret * cantitate. La finalul tabelului afisezi valoarea $total_price.
Folosește obiecte ar fi sugestia mea, fiecare produs va fi un obiect luat din baza de date, aici e super util pdo. (în loc de row îți scoate direct obiecte gen $produs[SKU]->cantitate sau $produs[SKU]->pret)
Nu fă niciodată operații la afișare, am făcut de prea multe ori greșeala aceasta la început.
Aproape fiecare platformă de ecommerce funcționează în următorul fel :
Produsele sunt obiecte care au proprietăți, gen preț, culoare, imagine, cod de bare, iar ID-ul în baza de date va fi SKU-ul (stock keeping unit) care trebuie să fie unic. (cel puțin intern, după o să ai un tabel separat al furnizorilor cu SKU-uri externe)
Coșul de cumpărături este doar un array în care se adaugă [[sku1,nr],[sku2,nr]], să numim acest array cart.
Comanda va fi un array al tuturor obiectelor din coș la sku-uri salvat în baza de date + numărul facturii + data fiindcă trebuie să salvezi prețul curent și detaliile comenzii care se vor schimba în timp.
Pagina pe care vezi coșul de cumpărături va rula o funcție recursivă cu total(subtotal) și eventual un applyCoupon(total).