[MySQL/PHP]Update tabel met andere tabel

Pagina: 1
Acties:
  • 173 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dit wordt een soort van 'How-to' vraag. Ik weet niet zeker of die wel hier thuis hoort, maar ik probeer het maar ;)

De situatie:
We hebben een overzicht van onze klanten uit ons klantenbestand gehaald, verder zijn er meer (potentiële) klantgegevens uit andere bronnen gehaald. Deze hele lijst is vervolgens in een Excel sheet gezet en zijn er meerdere mensen bezig geweest om deze lijst te actualiseren. De postcodes zijn er bij gezocht alsook de juiste bedrijfsnaam, voorletters contactpersoon etc.
Deze gegevens zijn gebruikt voor een mailing.

Om de volgende keer niet weer deze 'ellende' te hoeven doen, moet de actuele lijst in de database.
Het gaat ongeveer om 15-20% nieuwe klanten en de rest zijn gewijzigde gegevens.

Nu is mijn vraag hoe kan ik dit een beetje handig doen zodat ik niet alle klanten 1 voor 1 handmatig hoef te wijzigen/controleren.

Ik dacht zelf door eerst de lijst in een tijdelijke tabel te stoppen, dan door deze tabel te lopen en per record te zoeken in de huidige klantentabel naar een match (bijv. door te zoeken op bedrijfsnaam en plaatsnaam) en dan als er maar 1 record wordt gevonden de gegevens uit de tijdelijke tabel over de huidige heen te zetten, het record in de tijdelijke uitvinken en verder met het volgend record.
Aan het einde een overzicht maken met records uit de tijdelijke tabel die nog niet zijn gebruikt en die dan met de hand doen.

Is dit een beetje een handige manier of zijn er veel handigere/betere manieren.

--
Paul

Acties:
  • 0 Henk 'm!

Verwijderd

Je kan de excel sheet exporteren naar een CSV file. Deze file kan je met phpMyAdmin importeren naar een MySQL database. Bij het importeren kan je in de goede volgorde de kolommen aangeven die gevuld moeten worden. De kolomnamen hoef je niet op te nemen in je csv bestand.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt Dot-cpu,

maar dat is niet het probleem.
Het gaat er om hoe ik de oude tabel vergelijk met de nieuwe tabel. De gegevens in de oude tabel wijzig en de records die wel in de nieuwe maar niet in de oude tabel toevoeg aan de oude tabel.
Ik probeer te voorkomen dat ik als ik dit heb gedaan ik elk record in de oude tabel bij langs moet om te controleren of het goed is gegaan.

--
Paul

Acties:
  • 0 Henk 'm!

  • B-Man
  • Registratie: Februari 2000
  • Niet online
Veel handiger wordt het niet ;)

Wat ik je kan aanraden voor een eventuele volgende keer (misschien heb je dit nu ook al gedaan?) is het meenemen van een uniek ID in je export. Dan kun je de nieuwe, geactualiseerde gegevens in een later stadium 1-op-1 inlezen in je database, omdat je zonder twijfel een relatie kunt leggen.

Acties:
  • 0 Henk 'm!

Verwijderd

Ik neem aan dat er 1 kolom is die overeenkomt? Bijvoorbeeld de klantnaam?

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op woensdag 22 november 2006 @ 10:02:
Ik neem aan dat er 1 kolom is die overeenkomt? Bijvoorbeeld de klantnaam?
Ik denk dat je hier een heel belangrijk punt hebt... als er niet een consequente Unique Identifier is (PK) kun je denk ik deze "merge" nooit doen zonder zeker te weten dat alles goed wordt ge-update. Er kan natuurlijk zomaar een P.Jansen bij gekomen zijn ipv dat de originele P.Jansen verhuist is van Amsterdam naar Rotterdam. Ik weet niet hoe "onomstotelijk" dit moet zijn, maar zonder die UID kan je denk ik niet zoveel!

Anders kan je natuurlijk eenvoudig een PHP-script bouwen die records uit de ene tabel uitleest, een SELECT query doet op de uid, en bekijkt of er gegevens veranderd zijn, zo niet, volgende record, zo wel, UPDATE.

edit: TS --> antwoord op je echte vraag: dat is inderdaad een van de goede manieren 8)7

[ Voor 5% gewijzigd door Verwijderd op 22-11-2006 10:32 ]


Acties:
  • 0 Henk 'm!

  • Compusmurf
  • Registratie: Oktober 2003
  • Laatst online: 16-08-2024
Ik zou als ik jou was een 2e tabel aanmaken (of database als het meerdere tabellen zijn). Daarna zet je gewoon je hele excel sheet erin en klaar. Heb je ook geen gezeur met updaten enzo want je gegevens staan toch in allemaal in je excel sheet omdat je deze gegevens heb gecontroleerd/geactualiseerd.

http://Compusmurf.xs4all.nl

Pagina: 1