Teller over meerder kolommen in de database
We hebben registratie systeem voor een evenement en dit loopt eigenlijk goed.
Er zijn een aantal tellers waarmee we registreren wat er allemaal gebeurd en waar de mensen vandaan komen, ook dit werkt naar tevredenheid.
Teller die we hiervoor gebruiken is :
Code (php)
Nu is het zo dat ik nog een T-shirt aanbied en deze info staat over 4 kolommen verdeeld, dit zijn :
- Type 1 (dames/heren)
- Maat 1 (s/m/l/xl/xxl)
- Type 2
- Maat 2
kan ik ook zoiets als bovenstaande gebruiken om om deze 4 samen te voegen tot 2 en deze meteen op te tellen
Wie o Wie kan mij een beetje op weg helpen ?
Grtz Manfred
Edit:
Ik heb code-tags geplaatst. Gelieve dit in het vervolg zelf toe te voegen aan je bericht.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Gewijzigd op 05/01/2019 12:57:41 door - Ariën -
Over je vraag: Hoe ziet je database structuur eruit?
- Ariën - op 05/01/2019 10:53:29:
Een query geeft een result, en normaal dus geen array. Dus ik neem aan dat het fetchen al in je query-object zit?
Over je vraag: Hoe ziet je database structuur eruit?
Over je vraag: Hoe ziet je database structuur eruit?
Het is een simpele database opgebouwd met Fabrik (Joomla) met daarin naam,woonplaats............ enz,enz
Type shirt 1, Type shirt 2, maat 1 en maat 2 zijn hier onderdeel van.
en iedere nieuwe inschrijving is een nieuwe regel in de database.
Klinkt niet echt genormaliseerd.
ik gebruik de volgende teller voor het tellen van de t-shirts:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
foreach($dbh->query('SELECT maat_1, type_shirt_1,COUNT(*)
FROM inschrijfformulier
GROUP BY maat_1,type_shirt_1') as $row1)
{
echo "<tr>";
echo "<td> " . $row1['type_shirt_1'] . "</td>";
echo "<td> " . $row1['maat_1'] . "</td>";
echo "<td>  " . $row1['COUNT(*)'] . "</td>";
echo "</tr>";
}
FROM inschrijfformulier
GROUP BY maat_1,type_shirt_1') as $row1)
{
echo "<tr>";
echo "<td> " . $row1['type_shirt_1'] . "</td>";
echo "<td> " . $row1['maat_1'] . "</td>";
echo "<td>  " . $row1['COUNT(*)'] . "</td>";
echo "</tr>";
}
hiermee tel ik Type_shirt_1 en de maat_1 en groepeer ze om het resultaat per type en maat te tonen
dit doe ik ook met Type_shirt_2.
ik kan dit alleen separaat van elkaar doen, maar ik zou deze graag samenvoegen.
Grtz Manfred
Of wil je juist weten hoeveel t-shirts van een bepaald type zijn besteld, dus X shirts van type 1 en Y shirst van type 2, of wil je die ook nog onderverdeeld hebben per maat? Dit laatste lijkt mij interessante informatie want dat geeft een overzicht van de totale vraag naar t-shirts, onderverdeeld op type en maat.
Dit laatste wordt een beetje een rare spagaat vanwege de wijze waarop de databasetabel is opgezet. Is het ook mogelijk dat iemand zowel t-shirts van type 1 alsook type 2 bestelt in een enkele inschrijving?
De netste oplossing zou zijn om je database te fixen, maar dit zou waarschijnlijk ook programmeerwerk aan het inschrijfformulier inhouden en omdat dat verzorgd wordt door een of andere module (Fabrik?) wordt dat waarschijnlijk geen succes. Het makkelijkste is waarschijnlijk om eerst een lijstje op te bouwen door alle resultaten gewoon af te lopen en deze in een tijdelijk array op te slaan en dit is wat je uiteindelijk op het scherm toont.
Gewijzigd op 05/01/2019 17:08:56 door Thomas van den Heuvel