Hallo allemaal!

Okay. Ik ben redelijk nieuw met PHP. Maar wil graag iets maken voor op mijn werk.

Wat is mijn doel?
Mijn doel is om per persoon meerdere loterij-tickets opslaan. Echter: Elke dag, of week, zal er een aantal tickets aan de persoon worden toegekend. Het is de bedoeling dat er PER PERSOON een totaal gegenereerd kan worden.

Daarnaast heb ik nog twee totalen nodig: werk-units (er zijn er 4 in totaal) en een groot totaal (over alle 4 de werk-units).

Een voorbeeld:
Piet (werk unit A) heeft 25 tickets dag 1 en 18 tickets dag 2. Het totaal zal dus moeten zijn: 43.
Gerard (werk unit B) heeft 12 tickets dag 1 en 12 tickets dag 2. Het totaal zal dus moeten zijn: 24.

Nou moet het totaal weergegeven worden van:
1. Een individueel persoon (Piet (43) of Gerard (24))
2. De werk unit (unit A (43), B (24), C of D)
3. Het totaal van iedereen in alle 4 de werk units. (67).

Ik heb de database aangemaakt. Ik heb de 4 formulieren gemaakt en de 4 verwerkings-scripts die de data uit het formulier in de database invoegen.

Welke php-code moet ik invoegen om deze totalen weer te geven op de begin pagina?

Wie kan/ wil me hier mee helpen?
Vriendelijke groet,

Chris
Volgens mij is dit gewoon (op)tellen. Oftewel SUM() in sql. Hoe zit je database in elkaar?
Hoi SanThe.

Mijn database heeft de volgende info:
Agent; lob (line of bussines); Drawing (dat is de maand) en nr of tickets.
Dat is alles.

Iedere x dat er tickets aan een agent worden toegekend moet het veld 'tickets' dus worden verhoogd.

Groet,
Chris
Wat is je suggestie om de db te normaliseren?
Een extra veld tickets per maand?
Nee, extra tabel.
En per keer iets toevoegen is gewoon een rij toevoegen.

Tabel: tickets
Kolommen: id (INT, AI), datum (DATE), user_id (INT), toekenner_id (INT)

Toekenner_id is wie hem toevoegde of wat anders.
Zo blijf je controle houden waar de tickets vandaan komen.
Je ziet wanneer ze zijn toegevoegd en door wie.
En je kan er veel meer mee doen. Niet makkelijker, wel beter.
Ook optellen gaat dan net zo makkelijk, alleen is het iets meer als een rij en kolom uitlezen.
Ok. Ik heb mijn database drastisch aangepast.
Ik denk dat het nu genormaliseerd is (zie afbeelding).

Hoe nu verder? Ik wil per employee, maar ook per LOB een totaal voor een bepaalde maand kunnen weergeven. Daarnaast een totaal over ALLE employee´s.

Allereerst is je db niet genormaliseerd, want ik zie in een paar tabellen meerdere kolommen staan die ook in andere tabellen voorkomen.
Daarnaast kan je beter de naamgeving van de kolommen aanpassen, dwz alfanumeriek met evt een _
Zodra je verwijst naar een ID (zoals in tickets.drawing), vermeld dan ook dat het om een ID gaat.

Dus tickets.drawing_id verwijst naar drawing.id

Employees(-personen) zitten nooit in Management?
Wellicht beter een tabel Persons aanmaken? En daarin een veld dat zegt of ze employee zijn en/of management?
Ok. Hier de update van de database. :)
Als ik het goed begrijp is deze nu dus wel genormaliseerd?!


In de tabel roles zitten nu alle verschillende functies.
Je moet dus geen relaties leggen tussen de primary keys van een tabel, daarmee creeer je een 1-1 relatie in dat is hier niet het geval.
employees
batch_no (PK)
first_name
.....
roles**

**

Als een employee meerdere roles kan hebben, maak je een aparte tabel daarvoor:
employee_roles
batch_no (PK)
role_id (PK)


tickets
ticket_id (PK)
batch_no
drawing_id
raffle
entry_date

En nogmaals alleen letters, cijfers en een underscore gebruiken in kolomnamen.

Reageren