Door
Mohamed nvt
op 08-10-2017 21:23
gewijzigd op 08-10-2017 21:52
3.097 views
Hallo allemaal,
Voor elk medicijn kan er een USD- of een IQD-valuta ingevoerd en opgeslagen worden. Elk valuta heeft een eigen kolom nl, purchasepriceDi of purchasepriceDo.
En nu probeer ik het valuta voor elk medicijn weer te geven in een tabel/td.
En hiervoor gebruik ik onderstaande code.
Maar jullie raden het al; nu worden beide valuta's weergegeven in een tabel/td voor alle medicijnen i.p.v. enkel wat bij een medicijn hoort.
Bedankt voor het voorbeeld.
Wanneer ik in een tabel opneem de komma's en scheidingstekens dan hoeft straks de gebruiker enkel cijfers in te vullen zonder komma's en scheidingsteken, is dat de bedoeling?
Of moet ik een valuta later zelf deze komma's en scheidingstekens toe te voegen?
Ik ben nu een beetje in de war, want hoe weet ik straks wat een gebruiker bedoelt wanneer hij een getal invoert? Is het een duizend of een miljoen?
Is het niet handig dat straks een gebruiker gewoon een getal invoert en dat ik later met number_format het netjes weergeef, zonder een aparte kolom op te nemen voor komma's en scheidingstekens? Overigens, er is een groot verschil tussen het invoeren van een USD of een IQD. Bijv voor een USD-valuta worden enkel gehele getallen ingevoerd, en dus er wordt niet gewerkt met centen. Een voorbeeld van een UDS-valuta is 1150 en voor IQD zou bijv 1250.
Hopelijk is het duidelijk met wat ik wil realiseren.
Hierbij een update.
1. Ik heb een tabel aangemaakt, genaamd currency met de volgende kolommen: id, name en symbols
2. Extra kolom opgenomen in medicines tabel en deze genaamd currency_id
3. Foreign key constructie opgezet tussen medicines tabel en currency tablel.
4. In het invoer formulier heb ik nu een dynamisch dropdown lijst, waaruit gekozen kan worden tusssen USD & IQD
En momenteel kan ik de volgende dingen reeds doen:
1. Tijdens het invoeren van een medicijn kan een purchase price ingevoerd worden tussen IQD & USD
2. Het weergeven van een medicijn en bijbehorende purhase price.
Hoewel ik reeds blij ben met bovenstaande, loop ik toch tegen 2 onderstaande problemen:
1. Ik wil een purchaseprice niet verplicht maken, al lijkt me dat niet logisch, maar doe ik dat aan de hand van een FK - set null? en dat FK-kolom in medicines null op YES zetten?
2. Ik wil voor alle IQD-valuta een eigen number_format geven en voor USD precies hetzelfde, maar hoe pak ik dit aan?
Momenteel gebruik ik de volgende regel voor het weergeven van een medicijn en de number_format is eigenlijk bedoeld voor IQD, maar ik moet eigenlijk nog een number_format hebben voor USD.
Moet ik soms een IF statement gebruiken, die aan de hand van een id van currency controleert welke valuta hoort bij welk medicijn?
[size=xsmall]Toevoeging op 10/10/2017 20:51:26:[/size]
Update:
Ik denk dat ik het tweede probleem heb opgelost.
Ik controleer nl of het currency_id, welke hoort bij een medicine overeenkomt het id van een valuta en dan laat ik de functie number_format en/of money_format zijn werk doen ;-)
En volgens mij werkt het wel goed.
Blijft er nog het eerste probleem over. Overigens, het is wel toegestaan dat een FK een null waarde mag hebben...