Array naar database.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Applicatiebeheerder Microsoft Dynamics

Stroom jij over van kwaliteit om wereldwijde waterproblemen aan te pakken? Kun jij wensen en eisen vertalen naar IT vereisten? En hou je van een dynamische omgeving, waarin jouw baan ertoe doet, jouw ideeën worden gehoord en waar je werkelijk het verschil kan maken voor jouw collega’s en het bedrijf? Zo ja, dan zijn wij op zoek naar jou. Als je daar bovenop niet bang bent voor een Microsoft Cloud ben jij de perfecte kandidaat! Applicatiebeheerder Microsoft Dynamics in Veghel Jij helpt ons door ervoor te zorgen, dat de applicaties soepel lopen. Dit doe je samen met collega’s en externe

Bekijk vacature »

Senior developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Java ontwikkelaar

Functie Wat ga je doen als Java developer? In deze veelzijdige functie draag jij bij aan het implementeren van het bedrijfsbeleid om klantbehoeftes te behalen en de continuïteit van de projecten te waarborgen. Als Java ontwikkelaar voer je in eerste instantie natuurlijk werkzaamheden uit bij de klant. We proberen samen met jou Scrum/Kanban/Devops projecten te vinden die leuk, innovatief en leerzaam zijn en bijdragen aan wensen en ontwikkelingen. De ene Java ontwikkelaar is bij de klant bezig met software ontwikkelen en verbeteren terwijl de ander teams of hele organisaties ‘on the job’ coacht om meer Agile en volgens Scrum te

Bekijk vacature »

.NET (Xamarin) developer in-house met leaseauto!

Bedrijfsomschrijving Deze internationale organisatie bestaat nu een aantal jaar in Nederland. Ze doen het goed en zijn zowel wereldwijd als in Nederland groeiende. Het betreft een informele, non-hiërarchische organisatie waar op het gebied van groei nog veel potentie in zit. Je gaat dus werken in een jong en dynamisch team van ambitieuze developers. Functieomschrijving Als (Junior) .Net Developer web ga jij aan de slag bij een bedrijf dat zich richt op online en mobiele concepten. Het betreft een internationale partij met kantoren over de gehele wereld. Binnen een team van 5 andere developers zal jij je bezig houden met het

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. Je gaat als Full stack developer aan de slag en gaat

Bekijk vacature »

Fullstack developer

Bedrijfsomschrijving Yacht is dé organisatie van en voor professionals. Wij verbinden professionals en organisaties die het verschil willen maken. Ons doel is optimaal resultaat: jou als professional uitdagend werk bieden waarmee jij de organisaties van onze opdrachtgevers blijvend verbetert. Yacht is een dochter onderneming van Randstad Holding met een focus op hoog opgeleide professionals. Geïnteresseerd? Dan willen we jou graag beter leren kennen! Functieomschrijving Ben jij een Fullstack developer die de uitdaging zoekt om op detacheringsbasis tijdelijke opdrachten te doen bij grote klanten als: Heineken, Bol.com Philips, KPN, ABN AMRO, Rabobank, ING, PWC, VodafoneZiggo, Leaseplan, Athlon International, Randstad Holding etc

Bekijk vacature »

Java Developer

Functie Wat ga je doen als Java Developer? Samen met jou gaan we één project vinden die het best jou past, leerzaam zijn en bedragen aan jouw wensen en ontwikkelingen. In een jaar tijd word je klaar gestoomd tot een zelfstandige Java Ontwikkelaar, doormiddel van een masterclasses, intensieve en interactieve trainingen van top coaches, die klaar staan om jouw kennis te vergroten en dit ook te realiseren in praktijk. Samen met jouw coach ga je een persoonlijke leerplan opzetten om jou doelen te behalen. Start nu jouw carrière. Eisen Wat wordt er van jou verwacht? • Een afgeronde HBO Informatica

Bekijk vacature »

Senior Software Developer

Dit ga je doen Het ontwikkelen van nieuwe futures en updates; Het doorontwikkelen van de applicatie; Het analyseren van incidenten; Het oplossen van 2e en 3e lijns incidenten; Het implementeren van het ERP systeem op nieuwe locaties; Het bieden van ondersteuning. Hier ga je werken Deze Enterprise organisatie heeft meerdere locaties en zal op niet al te lange termijn nog meer locaties openen! Dit brengt met zich mee dat het ERP systeem, welke als levensader door de organisatie heen loopt, op deze locaties nog geïmplementeerd zal gaan worden. Het ERP systeem waar zij mee werken is een maatwerksysteem en is

Bekijk vacature »

Medior Java developer (backend)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Senior Java developer (backend)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Senior developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Front End Developer Junior

WAT GA JE DOEN? In deze fulltime functie werk je samen met designers, developers en klanten aan grote opdrachten. Je stelt kritische vragen en durft je mening te geven om te zorgen dat onze digitale oplossingen optimaal werken. Daarnaast maken jouw know-hows de digitale producten net iets mooier. We zijn op zoek naar een echte teamplayer die net als ons houdt van snelle en open communicatie. Een proactieve houding, probleemoplossende vaardigheden en onafhankelijke zelfsturing zijn daarbij onmisbaar. WAT WE DOEN ALS WE NIET BBQ’EN Werken aan serieuze en serieus leuke projecten dus. Een voorbeeld? Op dit moment zijn we vanuit

Bekijk vacature »

Front-end (Angular) developer

Functie Om bovenstaande ambities waar te kunnen maken zijn ze op zoek naar een Front-end (Angular) developer. Het it-team bestaat momenteel uit de IT Manager, 2 back-end developers, 1 fullstack developer, 1 designer en een DevOps engineer. Ze zijn dus op zoek naar professionals die autonoom en gedisciplineerd aan de slag gaan, en bij aanvang als enige developer met hun Front-end applicaties aan de slag gaat. Wel hebben ze de ambitie om hier snel een 2e developer bij te vinden die jij dan ook zal kunnen aansturen/begeleiden. Je zult aan de slag gaan met het doorontwikkelen van hun bestaande UI

Bekijk vacature »

Software Developer HBO WO / IT / 2.500 - 4.400

Samengevat: Deze werkgever is een softwarebedrijf gericht op supply chain? Ben jij een (Junior) Software Engineer? Heb je ervaring met C#? Vaste baan: Software Developer HBO WO C# 2.500 - 4.400 Software Engineer Zij werken voor verschillende grote retail bedrijven zoals bol.com, Jumbo supermarkten, Foot Locker, Rituals en Suit Supply. Zij werken voor grote klanten. Zij doen omvangrijke projecten die we bij ons op kantoor realiseren (geen detachering). Zij werken met state-of-the-art technologie en lopen daarin voorop. Wil jij de diepte in en veel leren, dan is deze baan geknipt voor jou. Functie: Voor de vacature als Developer Software Engineer

Bekijk vacature »

Full Stack Java Developer

Functieomschrijving Are you an experienced Full Stack Java Developer looking for an international, creative and innovative environment? Would you like to work on a self-service data platform, making sure our data makes its way from a vast array of sources to the right place? At Randstad Groep Nederland (HQ) we are looking for you! We’re looking for a Full Stack Java Developer available to join our internal team immediately. Full Stack Java Development at Randstad Groep Nederland (HQ) Team Chef’s Special consists of a group of experienced professionals who together are pioneering in a development environment that is new to

Bekijk vacature »
Mr.Ark

Mr.Ark

29/07/2009 16:38:00
Quote Anchor link
Beste mensen,

Omdat ik haast nooit met array's werk stuit ik nu op een probleem.
Ik zou graag willen weten hoe je een array in een database kan zetten.
Ik weet dat je het met en foreach en met explode moet doen.

Zelf dacht ik aan zoiets:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?PHP

/* Errors */
error_reporting(E_ALL);

/* Array dummy */
$array = array('blaat', 'iets', 'nogiets');

/* Foreach loop */
foreach($array as $value)
{

    echo $value.'<br/>';
}


?>


Hoe kan ik er nou voor zorgen dat dit goed in de database wordt geplaatst?
Zou iemand mij een voorbeeld kunnen geven hoe het precies wordt gedaan?

Alvast bedankt !
 
PHP hulp

PHP hulp

26/09/2022 18:01:50
 
Jelmer -

Jelmer -

29/07/2009 16:42:00
Quote Anchor link
In plaats van echo $value doe je daar een stukje mysql_query("INSERT INTO ... ") code, en (bijna) klaar ben je :)

Je kan het ook ingewikkelder doen, door één INSERT INTO query te schrijven die meerdere rows tegelijk invoegt. Is wel sneller, maar iets ingewikkelder. Dat zou je kunnen doen door net boven de foreach-lus een string te maken die het begin van je query bevat (INSERT INTO table (veld) VALUES) en daar in de foreach lus telkens ",($value)" aan toe te voegen. Alleen dan moet je weer opletten dat je bij de eerste of laatste keer dat je door de foreach-lus gaat de komma weglaat. Of je vult in de foreach-lus weer een nieuwe array met "($value)" stukjes, en voegt die later aan de rest van je query toe via implode(", ", $stukjes)
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
 
Jason de Ridder

Jason de Ridder

29/07/2009 17:20:00
Quote Anchor link
je kan eventueel serializen... serialize
 
Noppes

Noppes

29/07/2009 18:23:00
Quote Anchor link
Jason, z'n voorstel doen is niet echt de bedoeling denk ik. In een database sla je benaderbare data op!!
Gewijzigd op 01/01/1970 01:00:00 door Noppes
 
Mr.Ark

Mr.Ark

30/07/2009 21:26:00
Quote Anchor link
Ik ben wel eens benieuwd naar de 2e oplossing van Jelmer.

Dit is wat ik tot nu toe heb.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?PHP

        /* Array voor de checkboxes */
        $Array = array($_POST['checkbox']);
        
        /* Begin van de query */
        $Query =
        "
            INSERT INTO
                test
                (
                     Keuze
                )
                VALUES
                
        "
;
        
        /* Foreach loopje om de gegevens voor in de query uit te voeren */
        foreach($Array as $Value)
        {

            $Query .= "('".mysql_real_escape_string(implode(',', $Value))."')";
        }

        
        /* Resultaat van de query */
        $Result = mysql_query($Query);
        
        /* Kijken of de query is gelukt */
        if(!$Result)
        {

            /* Fout in de query */
            echo 'Er is een fout opgetreden in de query, Volgende fout is ontdekt: '.mysql_error();
        }

        else
        {
            /* Query succesvol uitgevoerd */
            echo 'De query is succesvol uitgevoerd.';
        }


?>


Zoals je ziet voert hij maar 1 row toe wat eigenlijk 2 rows moeten zijn omdat er 2 keuze's zijn geselecteerd.

Is dit de juiste manier om dit uit te voeren of raak ik een beetje van het pad af?

Zoals ik al eerder zei, Ben totaal niet bekend om met arrays te werken en zou graag er iets meer over willen weten.

Hopelijk kan iemand mij een beetje verder op weg helpen.
Gewijzigd op 01/01/1970 01:00:00 door Mr.Ark
 
Nicoow Unknown

Nicoow Unknown

30/07/2009 21:43:00
Quote Anchor link
Je kan hier ook met PDO werken,
Je maakt eerst een prepared statement.
Dan zet je in de foreach de waarde iedere keer goed, en dan voer je de query uit.
 
Mr.Ark

Mr.Ark

30/07/2009 21:56:00
Quote Anchor link
nico schreef op 30.07.2009 21:43:
Je kan hier ook met PDO werken,
Je maakt eerst een prepared statement.
Dan zet je in de foreach de waarde iedere keer goed, en dan voer je de query uit.


Hmmm, Zoek het toch liever in een andere richting.
 
Jelmer -

Jelmer -

30/07/2009 22:05:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php

$keuzes
= array('taart', 'chips', 'koek', 'chocola');

$sql_keuzes = array();

foreach($keuzes as $keuze)
{

    $sql_keuzes[] = "('" . mysql_real_escape_string($keuze) . "')";
}


$sql_insert = 'INSERT INTO test (keuze) VALUES ' . implode(', ', $sql_keuzes);

echo $sql_insert;

?>

Je kan met $_POST ook nog een trucje uithalen. Als je een naam eindigend met [], de twee haakjes die je ook bij arrays gebruikt, kiest, dan kan je heel gemakkelijk dit doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<input type="checkbox" name="keuzes[]" value="taart">Taart<br>
<input type="checkbox" name="keuzes[]" value="koek">Koek<br>
<input type="checkbox" name="keuzes[]" value="chips">Chips<br>
<input type="checkbox" name="keuzes[]" value="chocola">Chocolade<br>

Wanneer je dit verstuurt krijg je in je PHP de array $_POST[keuzes] met daarin alle aangeklikte waarden als elementen van die array. Oftewel, als je nu al deze checkboxes zou aankruisen en op submit zou drukken, zou $_POST[keuzes] precies dezelfde waarden bevatten als $keuzes hierboven.

edit: quotes in de foreach-lus gefixt (ik ben verwend met prepared statements :P)
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
 
Mr.Ark

Mr.Ark

30/07/2009 22:12:00
Quote Anchor link
@ Jelmer

Bedankt voor je reactie, Ik ga hiermee aan de slag.

Edit:


Hmm, Hier pakt hij dus alleen maar de laatste/hoogste waarde?
Ik bedenk me eigenlijk net dat het niet op deze manier gaat lukken denk ik, Omdat als je 4 checkboxen aanvinkt dan zou die ook 4 query's uit moeten voeren om 4 rows in de database te plaatsen of zie ik dat nu fout?

Dan zou dus de manier om de query in de foreach te zetten het meest logische zijn. Alleen dan stuit je op het probleem als je een fouten afhandeling in de foreach maakt dat je dan 4 x een report krijgt dat de query is gelukt.

Ben benieuwd hoe mensen dit doen...
Gewijzigd op 01/01/1970 01:00:00 door Mr.Ark
 
Jan Koehoorn

Jan Koehoorn

30/07/2009 22:52:00
Quote Anchor link
Even terzijde:

zet nooit een rijtje waarden, gescheiden door komma's in 1 veld in je database. Dat duidt op een fout datamodel. Het wordt dan bijvoorbeeld erg moeilijk om statistieken uit je database te laten rollen.
 
Mr.Ark

Mr.Ark

30/07/2009 22:59:00
Quote Anchor link
Jan Koehoorn schreef op 30.07.2009 22:52:
Even terzijde:

zet nooit een rijtje waarden, gescheiden door komma's in 1 veld in je database. Dat duidt op een fout datamodel. Het wordt dan bijvoorbeeld erg moeilijk om statistieken uit je database te laten rollen.


Dat snap ik jan. Daarom ben ik benieuwd naar de goede oplossing, Zoals ik vraag in me post (edit) hierboven.
 
Jelmer -

Jelmer -

30/07/2009 23:08:00
Quote Anchor link
Wanneer je al die checkboxes dezelfde naam meegeeft, en die naam eindigt met [] (en niets daartussen!) dan krijg je de waarden van alle aangeklikte checkboxes terug in de vorm van een array in $_POST[naam]. $_POST[naam] is dan dus ook weer een array. Zie maar wat je krijgt wanneer je var_dump($_POST[naam]) doet, en vergelijk dat met var_dump($keuzes).

In die foreach-lus wandel ik $keuzes door, ieder element in $keuzes komt aan de beurt en de waarde wordt dan (tijdelijk) aan $keuze toegekend. Die waarde, nadat hij gefilterd is voor de database, voeg ik samen met haakjes toe aan een nieuwe array, $sql_keuzes. Zie je de dubbele lege haakjes achter $sql_keuzes? Die doen ongeveer hetzelfde als .= bij een string, hij voegt iets toe in plaats van dat hij iets vervangt. $sql_keuzes bevat aan het eind dan ook 4 elementen, maar dan nu plus de haakjes en nodige quotes die mysql_real_escape_string heeft toegevoegd.

Daarna maak ik het begin van het INSERT statement, en voeg ik via implode alle 4 de elementen van $sql_keuzes samen, gescheiden door komma's. implode() geeft dus ook weer een string terug, welke ik dankzij die punt net voor implode() aan de rest van het INSERT statement plak. Uiteindelijk komt het geheel terecht in $sql_insert, en dat is dan je INSERT query die je kan uitvoeren. Deze query probeert 4 elementen tegelijk in te voegen. Het daadwerkelijk uitvoeren van de query stond niet in mijn script omdat je al weet hoe dat moet :)

Kijk voor de aardigheid eens met var_dump naar de waarden van alle variabelen, en vergelijk ze met andere variabelen waarvan je al weet hoe ze eruit zien. Misschien heb je nog wat aan deze tutorial over arrays
 



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.