Hallo

Ik vroeg me af of het mogelijk is de inhoud v/e veld in MySQL 'op te splitsen'? Ik verduidelijk even: in m'n database staat een veld (id) met volgende gegevens 500689-00000093, 500689-00000268... 601250-00000093, 601250-01005388... enzoverder.

Graag zou ik nu in php deze id's splitsen. Omdat ik vanuit een computerprogramma hier op kantoor exporteer naar MySQL, zijn mijn mogelijkheden beperkt. Het meeste werk zou dus moeten gebeuren in MySQL en php zélf.

Ik hoop dat ik wat duidelijk ben? Weet iemand of dit überhaupt mogelijk is?

Alvast merci!
Voorbeeld:
<?php
//$jedata is de data die je wilt splitsen
$a_id = explode(',',$jedata);
//$a_id is nu een array met alle id's ( 500689-00000093 )
?>
Maar ik vraag me af hoe je data model in elkaar zit, dit ziet er namenlijk niet echt goed uit.
Het gaat al fout op het moment dat jij meerdere gegevens (id's in dit geval) in 1 veld gaat proppen! Dan kan niet, mag niet en levert zoals je nu ziet alleen maar problemen op.

Voor elk uniek gegeven maak je een nieuwe rij aan in je tabel. Op die manier kun je gegevens ook afzonderlijk van elkaar benaderen. Wat jij zou moeten doen is terug gaan naar de tekentafel en je datamodel normaliseren. Pas als je een goed genormaliseerd datamodel over hebt, kun je verder met je systeem...
Bedankt voor je snelle reactie TJVB. Om op de opmerking te reageren: alle data komt rechtstreeks vanuit ons CRM pakket hier op kantoor. Die gegevens kan ik helaas niet bewerken alvorens deze te exporteren. Er zit dus niks anders op dan mijn database, en bij uitbreiding de php, al het werk te laten doen. Je hebt gelijk als je zegt dat dit idd niet de meest mooie oplossing is! Helaas...
R3Q schreef op 22.01.2008 14:34
Bedankt voor je snelle reactie TJVB. Om op de opmerking te reageren: alle data komt rechtstreeks vanuit ons CRM pakket hier op kantoor. Die gegevens kan ik helaas niet bewerken alvorens deze te exporteren. Er zit dus niks anders op dan mijn database, en bij uitbreiding de php, al het werk te laten doen. Je hebt gelijk als je zegt dat dit idd niet de meest mooie oplossing is! Helaas...
Exporteren is wat anders dan importeren! En het gaat fout bij het importeren in jouw database, daar 'vergeet' jij de boel in een goed datamodel te gieten.

Al krijg jij de boel per postduif aangeleverd, jij zult de data altijd op de juiste manier in jouw database moeten opslaan. Doe je dat niet, sta dan niet gek te kijken dat jouw systeem niet of slechts met veel pijn en moeite gaat werken.

Ga dus eerst normaliseren, dan de importmodule opbouwen en vervolgens is jouw huidige probleem als sneeuw voor de zon verdwenen. Vele andere problemen zullen ook ineens verdwijnen, een goed datamodel voorkomt namelijk een hoop ellende.

Kortom, terug naar de tekentafel!
@pgFrank: Helaas kan ik de gegevens niet importeren in MySQL, ze worden geëxporteerd vanuit de CRM (Commence RM in dit geval). Ik besef maar al te goed dat een goed opgebouwde database een noodzaak is. Meer nog: met normaliseren heb ik de nodige ervaring!

Als ik wat meer controle had over de data, had ik de vraag sowieso niet moeten stellen, want dan had ik er wel voor gezorgd dat m'n gegevens hierboven gescheiden werden opgeslagen. Dat is 't 'em net...

Niettemin bedankt voor bericht!
Ik vat hem even niet: Je exporteert de gegevens uit je CRM, dat is duidelijk, maar wat doe je vervolgens met dit export-bestand? Wordt dat niet in een andere database ingelezen?
Via een ODBC-connectie gaan die data rechtstreeks naar de MySQL-database. Op die manier kan ik dan gegevens rechtstreeks op internet publiceren via onze CRM, en andersom. Dat werkt. Helaas is het soms moeilijk de beide datatypen te synchroniseren.

Nu, uiteindelijk zal het wel lukken. Als ik m'n gezond verstand gebruik kom ik er wel uit. Ik ben nu al een heel eind!
Maar je wilt nu achteraf de data gaan bewerken. Dat kun je dan toch net zo goed vooraf doen waardoor het direct goed in de database komt te staan?

Jij kunt MySQL prima de data die via de externe verbinding binnenkomt eerst laten bewerken voordat het in de betreffende tabellen opgeslagen wordt...
Ola, daar heb ik nog niet van gehoord! Het is dus mogelijk dat mijn data 'gesplitst' wordt door MySQL alvorens het daadwerkelijk in de database wordt weggeschreven?
Zeker weten, het hangt er maar net vanaf in wat voor formaat de data aangeleverd wordt.

Reageren