Hi,

Ik lees een excel file uit (via PHPExcel) bestaande uit 3 kolommen (email, voornaam en achternaam) en een aantal regels.

Er ontstaat een array in een array welke ik weer uitlees op bijvoorbeeld deze manier:


foreach($values as $row => $innerArray){
  foreach($innerArray as $innerRow => $value){
    echo $value . "<br/>";
  }
}


Echter hoe krijg ik deze waarde in mijn mysql tabel subscribers , bestaande uit de kolommen: id, email, first_name en last_name ?

Alvast bedankt voor jullie hulp.
Ger (en ook Ward), heel erg bedankt (je had het eigenlijk al eerder beschreven). Het werkt nu perfect.
Ik heb toch nog een vraagje met betrekking tot bovenstaaand:

De query gebruik ik voor het wegschrijven van emailadressen uit een Excel formulier naar een tabel. Maar nu wil voorkomen dat er doublures ontstaan, dus via een SELECT haal ik de bestaande gegevens uit de tabel.

mijn vraag ;-):
Hoe kan ik nu 2 arrays het beste met elkaar vergelijken en de doublures er uit halen?, zodat ik 1 nieuwe array krijg

Zet een unique index op de kolom email:

CRE ATE UNIQUE INDEX ON subscribers (email)

Dan:

INSERT IGNORE INTO ......

Of als je de andere velden wilt aanpassen

INSERT INTO subscribers (email,first_name,last_name) VALUES(....,....,....),(....,....,....)
ON DUPLICATE KEY UPDATE
first_name = VALUES(first_name),
last_name = VALUES(last_name)
Hi Ger, hoeft er dan geen kolom met een id (nummering) in de tabel? Dus email is dan de primary key?
Database technisch gezien zou email de primary key kunnen zijn.
Alleen moet je dan door heel de applicatie heen met dat emailadres gaan lopen leuren, dus dan is een surrogaat primary key een betere optie.
OK, ik heb hier helaas geen ervaring mee ;-(.....

Schrijf je jouw eerst genoemde code dan in de query of is het een instelling in je database?
De cre-ate index statement is eenmalig, maar je kan dit ook via een database tool zoals Workbench of PHPMyAdmin doen.
Ik heb het via PHPMyAdmin gedaan en kon dit via een optie doen, is dit het:


ALTER TABLE `subscribers` ADD UNIQUE(`email`);


[size=xsmall]Toevoeging op 23/03/2015 15:24:02:[/size]

Gelukt ;-)

Reageren