Jump to content
  • 0

lees een TXT (csv) bestand en verwerk het


Gem

Question

Posted

Een duwtje in de goede richting, das wat ik nodig heb. :D

 

Ik heb een website opgezet (HTML5/CSS3/PHP). Bij het inloggen op de beveiligde pagina's wordt de login van de klant alsook de datum weggeschreven in een TXT bestand op de server. Dit gebeurt via PHP en in csv formaat.

 

Nu wil ik via een script in FM13 dit bestand op de server rechtstreeks inlezen (dus zonder eerst te downloaden) en de csv data verwerken in FM. Het inlezen van het bestand benader ik via de plugin van 360Works. Het is de bedoeling dat ik kan bijhouden hoeveel keer een bepaalde klant ingelogd heeft binnen een jaar en dus de activiteit per klant kan bijhouden.

 

Momenteel lukt het me om de csv data in te lezen in één veld/record binnen de FM omgeving. Nu zou ik die gegevens in een rapport moeten krijgen gesorteerd op klantnr. Het is van weinig belang dat de data effectief bijgehouden wordt want die wordt toch zeer geregeld opnieuw ingelezen via mijn script en is verder niet van toepassing.

Een voorbeeldje van de inhoud van het veld waar de csv data in terecht komt:

13,12-12-2015,55,13-12-15,57,18-12-15 enz... waar het eerste nummer het klant ID is en het tweede de datum.

 

Ik heb ook al gedacht om het csv bestand in te lezen via records importeren maar dan maak ik hopen records aan waar ik verder niets kan mee aanvangen.

 

Of ben ik totaal verkeerd bezig ?

1 answer to this question

Recommended Posts

  • 0
Posted

Bij het inlezen van ASCII bestanden e.d. (DXF, TXT, CSV, XML, ...) ben ik tot de vaststelling gekomen dat het eenvoudig is om deze als gewone tekst in te lezen (heb je geen plugin voor nodig) in één veld. Verander alles wat lijkt op een enter door een uniek teken, vb "§", hoe vaak kom je dat tegen.

vervolgens laat je scripts los die uiteindelijk gaan bepalen waar een nieuwe record moet beginnen, dat kan een bepaalde reeks cijfers en letters zijn of een vast aantal "§". op die plaats zet je een enter. Gebruik dan getvalue om die data in een veld van een andere tabel te zetten waarbij je zo de records in aanmaakt. Binnen die tabel ga je vervolgens aan de slag met andere scripts die dat veld per record gaat uitsplitsen in de nodige velden (of via calculaties binnen velden).

 

in jou voorbeeld komt alles binnen en op één lijn. je kan in dit eenvoudig geval gaan splitsen op de komma's. Waarbij de data voor de oneven komma in het veld klantnummer komt te staan en de data na de oneven komma in het veld datum. Zo creëer je een record met twee velden: klantnummer en datum (verder maak je ook best een automatisch ID veld aan en een veld waar je het moment van import bewaard).

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...