Ik ben een uitslagen database voor een bingo spel aan het neerzetten.
Ik krijg eens per week een csvtje waarin de uitslagen staan.
De opmaak ziet er als volgt uit.
26,51,74,55,68,,
Het eerste veld is de trekkingsdag de 6 opvolgende plaatsen is voor het maximaal aantal bal nummers wat getrokken kan worden.
Het kan dus zijn dat er die dag 6 ballen getrokken worden maar het kan ook dat er 1 getrokken wordt (in extreme gevallen)
Nu is het nadeel dat bal 0 ook bestaat.
Dus als ik die CSV inlees via de volgde code
Dan krijgen de velden die niet ingevuld waren automatisch nummer 0 in de database, waardoor de applicatie denkt dat bal 0 is getrokken.
Dit gebeurt ondanks dat het een INT veld is met een standaardwaarde NULL en waar NULL is toegestaan.
Als ik gewoon via MyAdmin een lege insert op een bal veld doe krijg ik wel een NULL waarde in mn veld
Nu zou ik het natuurlijk gewoon een varchar veld kunnen maken , echter lijkt dat me een te makkelijke weg
Ik krijg eens per week een csvtje waarin de uitslagen staan.
De opmaak ziet er als volgt uit.
26,51,74,55,68,,
Het eerste veld is de trekkingsdag de 6 opvolgende plaatsen is voor het maximaal aantal bal nummers wat getrokken kan worden.
Het kan dus zijn dat er die dag 6 ballen getrokken worden maar het kan ook dat er 1 getrokken wordt (in extreme gevallen)
Nu is het nadeel dat bal 0 ook bestaat.
Dus als ik die CSV inlees via de volgde code
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| $rijen = file ( 'bestand.csv' ); $maand = 9; $jaar = 2002; foreach ( $rijen as $r ) { $cells = preg_split( '","', $r ); $unix_tijd = mktime (0,0,0,$maand, $cells[0], $jaar); $dag = date(w, $unix_tijd); #dag nummer 0 = zondag 6 is zaterdag mysql_query("INSERT into tbl_uitslagen (uits_datum, uits_bal1, uits_bal2, uits_bal3, uits_bal4, uits_bal5, uits_bal6) values ('$unix_tijd', '$cells[1]', '$cells[2]', '$cells[3]', '$cells[4]', '$cells[5]', '$cells[6]', '$cells[7]')"); } |
Dan krijgen de velden die niet ingevuld waren automatisch nummer 0 in de database, waardoor de applicatie denkt dat bal 0 is getrokken.
Dit gebeurt ondanks dat het een INT veld is met een standaardwaarde NULL en waar NULL is toegestaan.
code:
1
| uits_bal1 tinyint(4) default NULL, |
Als ik gewoon via MyAdmin een lege insert op een bal veld doe krijg ik wel een NULL waarde in mn veld
Nu zou ik het natuurlijk gewoon een varchar veld kunnen maken , echter lijkt dat me een te makkelijke weg
[ Voor 0% gewijzigd door BierPul op 13-09-2002 12:04 . Reden: Tabel verneuken zuigt :P ]
Ja man