Hallo,

We hebben een excel met adressen die we invullen en vervolgens via een knop uploaden op de website en dan deze adressen ingeeft in de database.

Momenteel hebben we een kolom in excel voor de voornaam en ook voor de achternaam en nog enkele voor de adressen.

Op deze manier maken we variabelen aan:

foreach ($_POST['voornaam'] as $key => $val) {
$naam = $_POST['voornaam'][$key] . ' ' . $_POST['achternaam'][$key];
$adres = $_POST['straat'][$key] . ' ' . $_POST['huisnummer'][$key]. ' ' . $_POST['toevoeging'][$key];
$postcode = $_POST['postcode'][$key];
$woonplaats = $_POST['woonplaats'][$key];

Vervolgens voegen we een klant toe aan de database met volgende code:

$customer= array();
$customer['name'] = $naam;
$customer['address'] = $adres;
$customer['zipcode'] = $postcode;
$customer['city'] = $woonplaats;


Nu willen we eigenlijk een kolom in excel toevoegen voor 'Bedrijf' en 'Contactpersoon'.
Deze 2 kolommen mogen enkel ingevuld worden als deze van toepassing zijn en dan mag de kolom 'Voornaam' en 'Achternaam' niet ingevuld worden.

En dan zouden we in de code willen controleren of het veld 'Bedrijf' is ingevuld of niet. Indien dit is ingevuld, dan moet $naam de bedrijfsnaam worden. Dus:

$naam = $_POST['Bedrijf'][$key];

Indien het veld Bedrijf niet is ingevuld, wil dit zeggen dat Voornaam en achternaam is ingevuld, en dan moet de code behouden blijven zoals hierboven, dus

$naam = $_POST['voornaam'][$key] . ' ' . $_POST['achternaam'][$key];


Hoe kan ik die controle inbouwen en doe ik die controle in het onderdeel bij 'foreach' of in het onderdeel '$customer= array();'

Alvast bedankt voor jullie hulp.

Met vriendelijke groeten,
Tom
Dat zal dan (aanhakend op jouw code) zoiets worden:

<?php

foreach ($_POST['voornaam'] as $key => $val) {
$naam = $_POST['voornaam'][$key] . ' ' . $_POST['achternaam'][$key];
if (!empty($_POST['Bedrijf'][$key])) {
$naam = $_POST['Bedrijf'][$key];
}
// ... en hier volgt de rest

}

?>
(niet getest)
Als je $_POST['Bedrijf'] wilt gebruiken in plaats van $_POST['voornaam'] plus $_POST['achternaam'], kun je beter géén controle(structuur) voor $_POST['voornaam'] gebruiken: $_POST['voornaam'] mag immers ontbreken zodra die data overbodig is.
Of je slaat alles gewoon op en stopt deze "logica" in de weergave van de data.

Misschien doe je er wel/ook verstandig aan om alle velden los op te slaan? Kost je weinig extra's en hoef je later deze informatie ook niet opnieuw uit elkaar te trekken.

Stel dat je straks een lijst op achternaam wilt, dat kan dan niet omdat je alles aan elkaar geplakt hebt...

Denk bij het structuren van de je data ook na over welke informatievragen je hiermee (makkelijk) wilt kunnen beantwoorden...

Reageren