CSV importeren naar website

Status
Niet open voor verdere reacties.

JeroenE

Terugkerende gebruiker
Lid geworden
20 mrt 2005
Berichten
1.950
Hallo,

Ik ben voor een van mijn websites een pagina aan het maken waar klanten hun adresboek via csv bestand kunnen invoeren.

Het viel mij op dat gmail en outlook hun csv bestand totaal verschillend is en alle gegevens op totaal andere plaatsen staan, op zich geen probleem, maar dat ze ook andere benamingen gebruiken voor elk veld zoals bijvoorbeel: voornaam is bij gmail "given name" en bij outlook "first name".

Zijn er nog andere volgordes en benamingen voor de velden in de csv bestanden van andere adresboeken en welke zijn, naast gmail en outlook dan, de meest gebruikte?

Op welke manier benader ik in php de verschillen het best om ze allemaal op de juiste plaats in de database te plaatsen?

Jeroen.
 
Bezoeker upload het csv bestand.
De eerste regel hiervan is vrijwel altijd de veldnamen regel. Die toon je aan de website bezoeker.
Naast elke ingelezen veldnaam plaats je een <select> veld met de velden die je wilt hebben.
Op deze manier regelt de website bezoeker zelf de conversie.

Voorbeeld
In elke <select> staat: Voornaam, Achternaam, Adres, Postcode, Plaats (want dit wil je weten)
De ingelezen header geeft: PostalCode, Fax, Phone, City, FirstName, GeoCode, LastName, Address (willekeurige volgorde)
De website bezoeker kiest bij "FirstName" dan de optie Voornaam, bij Address kiest hij de optie Adres, enz. totdat er 5 velden zijn ingevuld.
Dan drukt hij op de knop Verzenden en wordt dit formulier verder met php afgehandeld.

Voordeel: jij hoeft niet na te denken over allerlei verschillende csv indelingen.
Nadeel: een bezoeker kan een verkeerd veld kiezen en dan word de csv verkeerd ingelezen.
 
Dank je wel, route99 en bron, voor jullie antwoorden.

Veel wijzer wordt ik niet echt uit de google resultaten. Ik had die trouwens al bekeken voor ik mijn vraag hier stelde :p

Het idee van bron heb ik ook al aan gedacht, en ik denk inderdaad dat dit de beste oplossing zal zijn.

Mochten jullie nog ideeën hebben, dan zijn die altijd welkom he.

Thnx guys
 
Je zou de volgorde van de velden uit kunnen lezen zodat je ze kan herkennen of het een Google, Outlook of Yahoo adres is, waarna je de velden kan koppelen aan de juiste velden die jij gebruikt nadat je het gaat importeren in jouw systeem.

Komen ze niet overheen, dan houdt het op!
Een voordeel: Als iemand een CSV van onbekende indeling uploadt, krijg je geen foute data in je database.
 
Wat ook zou kunnen is dat je allereerst de vraag stelt aan de gebruiker welk bestand ze uploaden: Google, Outlook etc met daarbij evt nog een optie om via een contactformulier een andere toe te laten voegen.

Dan schrijf je gewoon 2 of 3 verschillende upload scripts, specifiek voor de desbetreffende bron.

Is wel wat meer werk maar dan ben je in ieder geval niet afhankelik van enige input van de gebruiker.
 
Ok, dankjewel PHP4U en ariecade.

Ik laat nog weten welke oplossing ik gebruikt heb.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan