Controle value is empty

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tom VanMinnebruggen

Tom VanMinnebruggen

22/11/2019 01:17:18
Quote Anchor link
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
 
PHP hulp

PHP hulp

29/11/2024 05:47:26
 
Ozzie PHP

Ozzie PHP

22/11/2019 02:45:09
Quote Anchor link
Dat zal dan (aanhakend op jouw code) zoiets worden:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?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)
Gewijzigd op 22/11/2019 02:46:59 door Ozzie PHP
 
Ward van der Put
Moderator

Ward van der Put

22/11/2019 09:12:19
Quote Anchor link
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.
Gewijzigd op 22/11/2019 09:12:40 door Ward van der Put
 
Thomas van den Heuvel

Thomas van den Heuvel

22/11/2019 13:39:09
Quote Anchor link
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...
Gewijzigd op 22/11/2019 14:15:37 door Thomas van den Heuvel
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.