Select array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Dordrecht zijn wij op zoek naar versterking voor op de afdeling Software Development! Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met

Bekijk vacature »

Grafisch vormgever

Standplaats: Maasland Aantal uren: 32 – 40 uur per week Opleidingsniveau: HBO werk- en denkniveau Ben jij een ambitieuze grafisch vormgever met een passie voor creativiteit en oog voor detail? Vind jij het daarnaast leuk om ook marketingactiviteiten op te pakken? Dan zijn wij op zoek naar jou! Bedrijfsinformatie Westacc Group BV is het zusterbedrijf van HABA en specialiseert zich in (maatwerk) oplossingen voor (elektro) techniek en verlichting in de kampeerbranche. Zij produceren en assembleren onderdelen voor caravans, campers en boten. Voor een groot aantal caravan- en campermerken leveren wij producten als zekeringkasten, invoerdozen, acculaders, schakelmateriaal en verlichting. De producten

Bekijk vacature »

Laravel Developer

Functie omschrijving Voor een gave organisatie in de buurt van Den Bosch zoek ik een PHP developer. Het is van belang dat je kennis/ervaring hebt met het framework Laravel. Jij gaat in deze functie software applicaties ontwikkelen. Deze software projecten zijn heel divers, en deze organisatie maakt software, van A tot Z. Klanten kunnen in elke sector werkzaam zijn, van profit tot non-profit. Andere taken zijn onder andere: documentatie schrijven over applicaties/uitleg geven over software en applicaties/ klantcontact over bestaande applicaties/applicaties optimaliseren. Bedrijfsprofiel Deze organisatie zit in de regio van Den Bosch en is een klein bedrijf. Er werken circa

Bekijk vacature »

Medior Java 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 »

Technical Asset Specialist Substations

TenneT is growing fast to realize its strategic ambitions. We play a leading role in driving the energy transition. We are looking for a passionate Technical Asset Specialist for substations (onshore and offshore) at our location in Arnhem who will contribute to this and that might be you? Your contribution to TenneT We are searching for a motivated and engaged colleague as a technical asset specialist (onshore and offshore) for instrument transformers and surge arresters, with preferably a strong background in the area of insulation coordination. As a specialist for insulation coordination you are responsible for overarching topics regarding insultation

Bekijk vacature »

Airport Developer / System engineer

De functie Als onze nieuwe Airport Developer / System Engineer is je doel om uit nieuwbouw- en onderhoudsprojecten maximale waarde te creëren voor Schiphol Group en haar stakeholders. Vanuit je visie en expertise, maar ook (technologische) ontwikkelingen, wetgeving en beleid vertaal je klantwensen naar een gedegen programma van eisen. In de planontwikkelingsfase werk je nauw samen met Plan Ontwikkelaars om je kennis in te brengen ten behoeve van de kwaliteit van het investeringsvoorstel. Je overlegt met diverse partijen, stelt de vraag achter de vraag en verbindt zo de belangen van de luchthaven, proceseigenaar en asseteigenaar om tot een gedragen ontwikkelopgave

Bekijk vacature »

Implementatie specialist

Standplaats: Honselersdijk Aantal uren: 32 – 40 uur Opleidingsniveau: HBO werk- en denkniveau Ben jij de implementatie expert die onze klanten helpt bij het integreren van de Greencommerce software? Ben jij daarnaast communicatief sterk, denk jij graag in verbeteringen en heb je ervaring met ICT? Lees dan snel verder! Bedrijfsinformatie Jem-id is een grote speler op het gebied van software ontwikkeling. Zo zijn wij continu bezig met het ontwikkelen van de meest innovatieve software voor de AGF- en sierteeltsector. We creëren oplossingen die er toe doen en verbinden klanten niet alleen op technisch vlak, maar zoeken ook de verbinding in

Bekijk vacature »

Cloud Engineer

Ben jij een ervaren Cloud Engineer die complexe omgevingen kan overzien en wil je graag in vaste dienst werken bij een professioneel en kleinschalig bedrijf waar je een belangrijke rol kan spelen? Wij, IntelliMagic in Leiden, ontwikkelen specialistische IT monitoring software die we als SaaS oplossing verkopen aan grote bedrijven in Europa en de VS. We zijn een Nederlands bedrijf met een goede sfeer en met grote waardering voor de persoonlijke inbreng en kwaliteiten van onze medewerkers. Wij zoeken een ervaren Cloud Engineer met academisch denkniveau die verantwoordelijk wordt voor het beheer van de cloud infrastructuur voor onze Europese klanten.

Bekijk vacature »

VB.NET developer

Functie Het development team waar jij in terecht komt bestaat uit twee ervaren software developers. De directeur/eigenaar is tevens één van deze developers. Jij werkt direct samen met jouw werkgever en kan dan ook veel kennis en ervaring bij dit bedrijf op doen. Als team zijn jullie verantwoordelijk voor de kantoorapplicatie die deze organisatie aanbied in een niche markt. Het team is op dit moment actief bezig met een migratie waarbij het eindstation eindigt in een C# .NET omgeving. Echter is een deel van de software al geschreven in C# .NET. Hierbij is gebruik gemaakt van C# .NET, CSS, HTML,

Bekijk vacature »

Applicatie Ontwikkelaar

Bedrijfsomschrijving DUO verzorgt als uitvoeringsorganisatie, zijnde onderdeel van het Ministerie van Onderwijs, Cultuur en Wetenschap de uitvoering van complexe wet- en regelgeving en heeft een uitgebreid dienstenpakket. DUO financiert en informeert onderwijsdeelnemers en onderwijsinstellingen. Voor verdere informatie zie www.duo.nl Functieomschrijving Wie zoeken we? Jij bent een enthousiaste, flexibele OPS’er die het leuk vindt om het bestaande examenlandschap te vernieuwen. Je bent leergierig en hebt interesse in cloud- en containertechnieken zoals OpenShift, Docker en Helm. Je gaat een uitdaging niet uit de weg en wil je nieuw opgedane kennis graag delen met de collega’s binnen en buiten het team. Doordat de

Bekijk vacature »

.NET Developer

Dit ga je doen (Door)Ontwikkelen van het applicatielandschap; (Door)Ontwikkelen van microservices; Bouwen van nieuwe functionaliteiten; Verbeteringen aandragen voor het applicatielandschap; Sparren met de business. Hier ga je werken De organisatie is werkzaam in de financiële dienstverlening met meer dan 200 medewerkers en meer dan 250.000 eindgebruikers is het een van de grotere binnen haar branche. Je komt te werken in een team waarmee je verantwoordelijk bent voor het ontwikkelen en onderhouden van de financiële applicaties binnen de organisatie, denk hierbij aan het bouwen en onderhouden van portalen. Als .net developer ga jij het development team ondersteunen met de transitie naar

Bekijk vacature »

.NET Developer Microservices

Dit ga je doen Je taken zullen voornamelijk bestaan uit: Het ontwikkelen van software, inclusief vormgeving, implementaties, integraties en (automatisch) testen (.NET, C#, Azure, Docker, Microservices, Angular); Het in kaart brengen van software requirements; Zorgen dat jouw code kwalitatief hoogstaand is; Het uitvoeren van risico analyses; Een bijdrage leveren aan het continuous quality improvement process. Hier ga je werken Dat kanker een verschrikkelijke ziekte is die de wereld uit geholpen moet worden, is duidelijk. Binnen deze Gelderse organisatie die duizenden ziekenhuizen van producten voorziet, proberen ze daar via technische innovaties aan bij te dragen. Samen met 10 collega .NET developers

Bekijk vacature »

C++ Ontwikkelaar

Functieomschrijving Ben jij als software ontwikkelaar toe aan een nieuwe uitdaging? Dan zoeken wij jou! Voor het maken van de procesbesturingssoftware gebruiken onze projectteams een in C++ en C# geschreven tool. Dit is een gedistribueerd object framework wat alle kernfuncties biedt voor een procesautomatisering. Verder zullen jouw werkzaamheden o.a. bestaan uit: Ontwerpen, programmeren en testen van product aanpassingen; Analyseren van vragen en wensen van gebruikers en deze vertalen naar een functioneel ontwerp; Inzichtelijk maken van voortgang omtrent softwarewerkzaamheden, o.a. door middel van SCRUM; Continu toetsen van het effect van nieuwe releases op andere tools en processen; Implementeren van nieuwe product

Bekijk vacature »

Machine Software Developer

Bij een bedrijf in de machinebouw, regio Roosendaal, zijn we op zoek naar een: Machine Software Developer Waar ga je werken? Onze opdrachtgever is gespecialiseerd in de grondverzetmachines. Al meer dan 50 jaar leveren ze zowel nationaal als internationaal diverse machines. Het is een familiebedrijf met een informele werksfeer. Wat ga je doen? Als Machine Software Developer ben je verantwoordelijk voor: - Je ontwerpt, ontwikkelt en debugt software voor machinebesturingssystemen en complexe landbouwmachines; - Je stelt gebruikersinterfaces op (cabinedisplays); - Op termijn ga je softwareprojecten leiden voor specifieke machines; - Inclusief planning, documentatie en validatie; - Om specificaties te verifiëren

Bekijk vacature »

.NET developer

Functie Als .NET developer start jij in een development team met één Senior .NET developer en één junior .NET developer. Als team zijn jullie verantwoordelijk voor het schrijven van software voor onze toonaangevende Automatiseringssystemen. Jij gaat aan de slag met de onderhoud van de kernsoftware, ondersteund de software van derden door het gebruik van onze webservices en als team zijn jullie verantwoordelijk voor het ontwikkelen van onze backend oplossingen. Wij maken op dit moment veel gebruik van .NET met ASP.NET. Komend kwartaal gaan wij wel gedeeltelijk overstappen naar .NET Core. Verder werken wij ook met SOAP, REST, JSON, HTML5, CSS3

Bekijk vacature »
N K

N K

22/07/2013 15:56:26
Quote Anchor link
Argh..Ik kom er even niet uit.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<select id="category" name="category[]" multiple="multiple" >
    <?php  while( $row = mysqli_fetch_assoc($result_sql_get_categories)):?>
    <option value="<?php echo htmlspecialchars($row['category_id']);?>"<?php if(isset($_POST['category'])&&($_POST['category'] == $row['category_id'])){echo 'selected="selected"';}?> ><?php echo htmlspecialchars($row['category_descr']);?></option>
    <?php endwhile?>
</select>


De bedoeling is dat de gekozen waarde wordt onthouden na een form submit. Volgens mij lukt het nu niet omdat ik een variabele vergelijk met een array. Hoe kan ik de juiste waarde binnen de array vergelijken met de waarde uit de database? Mocht iemand tips hebben om dit trouwens mooier te schrijven is dat ook welkom..;-)
Gewijzigd op 22/07/2013 15:56:42 door N K
 
PHP hulp

PHP hulp

25/04/2024 12:58:27
 
Frank Nietbelangrijk

Frank Nietbelangrijk

22/07/2013 16:10:07
Quote Anchor link
je kunt met selects twee kanten uit. Of je gebruikt de value attribute of niet.

Als je de value attribute niet gebruikt krijg je als waarde de inhoud van het option element terug. Als je hem wel gebruikt krijg je altijd de waarde van de value attribute terug.

je moet je altijd afvragen wat je nodig hebt nadat een gebruiker een keuze heeft gemaakt. Indien je meer nodig hebt dan de waarde die in de value attribute is opgegeven dan kun je het beste de primary key van de database-record meegeven. met dat id kun je dan weer alle gegevens van een record opvragen met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT * FROM mytable WHERE id=<value>



Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo htmlspecialchars($row['category_id']);
?>

htmlspecialchars kan hier weg. je haalt data uit de database. Deze data is schoon en behoeft niet bewerkt te worden.

Probeer jezelf aan te leren om PHP logica Bovenin je script te houden en HTML onderin.
In de HTML is dit wel goed:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $weetIkVeelWat; ?>


maar allerlei if-statements kun je beter zo veel mogelijk vermijden.
Gewijzigd op 22/07/2013 16:18:23 door Frank Nietbelangrijk
 
N K

N K

22/07/2013 16:19:32
Quote Anchor link
Is de value niet verplicht? Dat is nieuw voor mij.
Ik zie daarnaast niet zo snel hoe ik jouw antwoord kan matchen met mijn vraag.
Ik wil de geselecteerde opties tonen nadat ik het form gesubmit heb. Dan zal ik toch selected="selected" voor die regels moeten toevoegen?

Toevoeging op 22/07/2013 16:25:50:

M.b.t. htmlspecialchars:
Ik heb geleerd om htmlspecialchars te gebruiken vlak voor je output om XSS te voorkomen.
Waarom is dit niet goed?
 
Kris Peeters

Kris Peeters

22/07/2013 16:31:07
Quote Anchor link
N K op 22/07/2013 15:56:26:
Mocht iemand tips hebben om dit trouwens mooier te schrijven is dat ook welkom..;-)


Indenteren. Niet alles op 1 lijntje schrijven; zo kunnen we de code in 1 oogopslag zien.
---
Edit ... die notatie, waarbij je <?php in en uit gaat, maakt het niet gemakkelijk om leesbare code te krijgen. Zeker gezien daar nog if's staan, beveiliging, ...
Gewijzigd op 22/07/2013 16:37:37 door Kris Peeters
 
Frank Nietbelangrijk

Frank Nietbelangrijk

22/07/2013 16:48:41
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php

function getCategoryOptions($link)
{

    // return '<option value="1">pannekoeken</option>' . '<option value="2">patat</option>' . "\n"; // testje zonder database!
    
    $out = '';
    $result = mysqli_query($link, "SELECT `category_id`,`category` FROM category");
    
    while($row = mysqli_fetch_assoc($result))
    {

        $out .= '<option value="' . $row['category_id'] . '">' . $row['category'] . '</option>' . "\n";
    }

    
    return $out;
}


if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    // dump deze array om te zien hoe die is opgebouwd
    print_r($_POST);
    
    // nu de nette manier:
    if(isset($_POST['category'])) // als er niets uit de lijst gekozen wordt bestaat deze variabele helemaal niet!
    {
        echo '<br/><br/>U heeft de volgende category id\'s gekozen:<br/>';
        foreach($_POST['category'] as $value)
        {

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

        echo '<br/>';
    }
}


?>

<form action="" method="post">
    <select id="category" name="category[]" multiple="multiple" >
        <?php echo getCategoryOptions($link); ?>
    </select>
    <button type="submit">Go!</button>
</form>


Toevoeging op 22/07/2013 16:50:30:

$link = de connectie naar je database
Gewijzigd op 22/07/2013 16:49:27 door Frank Nietbelangrijk
 
N K

N K

22/07/2013 16:56:56
Quote Anchor link
@Frank, zo is het inderdaad wat mooier gescheiden. Heb nog bijna geen functies gemaakt eigenlijk maar zie nu wel het nut ervan. Dank!
 
Frank Nietbelangrijk

Frank Nietbelangrijk

22/07/2013 17:00:45
Quote Anchor link
die indruk had ik al en je bent niet de enigste maar je doet er heel goed aan om dat op te pakken.
 
N K

N K

22/07/2013 17:38:37
Quote Anchor link
Frank, om op mijn oorspronkelijke vraag terug te komen ;-)
Ik moet echt gebruik maken van selected = "selected".
Ik wil geen tekst laten zien maar buttons die oplichten (Ik gebruik een jquery multiselect variant..)
Weet jij zo hoe ik dit kan implementeren in deze code?
 
Frank Nietbelangrijk

Frank Nietbelangrijk

22/07/2013 19:33:01
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php

function getCategoryOptions($link, $selected = false)
{

    $out = '';
    $result = mysqli_query($link, "SELECT `category_id`,`category` FROM category");
    
    while($row = mysqli_fetch_assoc($result))
    {

        $sel = '';
        if( in_array($row['category_id'], $selected))
        {

            $sel = 'selected="selected"';
        }

        $out .= '<option value="' . $row['category_id'] . '"' . $sel . '>' . $row['category'] . '</option>' . "\n";
    }

    
    return $out;
}


$link = mysqli_connect('localhost', 'root', '', 'test');
$gekozen = false;

if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    // dump deze array om te zien hoe die is opgebouwd
    print_r($_POST);
    
    // nu de nette manier:
    if(isset($_POST['category'])) // als er niets uit de lijst gekozen wordt bestaat deze variabele helemaal niet!
    {
        echo '<br/><br/>U heeft de volgende category id\'s gekozen:<br/>';
        foreach($_POST['category'] as $value)
        {

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

        echo '<br/>';
        
        // overschrijf $gekozen nu naar een array met de gekozen opties
        $gekozen = $_POST['category'];
    }
}


?>

<form action="" method="post">
    <select id="category" name="category[]" multiple="multiple" >
        <?php echo getCategoryOptions($link, $gekozen); ?>
    </select>
    <button type="submit">Go!</button>
</form>


Toevoeging op 22/07/2013 19:35:22:

je mag jquery en javascript gewoon door elkaar gebruiken.
 
N K

N K

22/07/2013 20:04:57
Quote Anchor link
Nice, dit ga ik even bestuderen..
Dank!!
 



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.