waar de zelfde product voor komt de units bij elkaar optellen
Door
dimi orla
op 06-02-2011 22:31
gewijzigd op 06-02-2011 22:34
1.537 views
Hoi iedereen,
Is het mogelijk op de volgende code voor het door geven op de ProductString de array te lezen waar de zelfde product voor komt en de units bij elkaar op te tellen?
Alle tips zijn welkom
Bij voorbaat dank,
Dimitris
<?php
$query = "SELECT plu, product, units FROM orders_open WHERE customer = '$Customer'";
$result = mysql_query($query);
Bedankt Arjan,
De beste oplossing is de simpelste, en ik zat met iets met een loop samen met array_search en array_sum te denken.
Maar ik heb nog een vraag, ik denk dat query zo moet zijn maar de onderste code brengt alle zelfde producten by elkaar zonder de units te laat zien in de $ProductString, wat doe ik fout?
<?php
$query = "SELECT plu, product, SUM(units) FROM orders_open WHERE customer = '$Customer' GROUP BY product";
Je dient een alias toe te voegen voor sum(units). Dus bijv. Sum(units) as num_units
Hierna kan je num_units aanroepen om de waarde te krijgen. Echter moet je op alle velden in je select statement een aggregate functie toepassen,behalve op het veld of velden die je in de group by opneemt! Gebruik hiervoor bijvoorbeeld de max() als de overige aggregate functies niet de uitkomst geven die je wilt of neem meer velden op in je group by.