Select array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front end ontwikkelaar

Functie Het huidige team bestaat uit momenteel uit 5 back end developers verdeeld van senior tot junior. Omdat de gehele front end van applicaties anders gaan insteken zijn ze op zoek naar een ervaren Front end developer die hen kan helpen de juiste keuzes te maken. Je krijgt veel vrijheid om te bepalen hoe je dit wilt ontwikkelen en vrijheid in welke techniek je hiervoor wilt gebruiken. Je zult je dus bezighouden met architectuur, documentatie en natuurlijk ontwikkeling van nieuwe functionaliteiten binnen de verschillende applicaties. natuurlijk heb jij ook mogelijkheden om te sparren binnen het team, maar ze gaan uit

Bekijk vacature »

Senior Fullstack developer wanted! (C#, Java, Angu

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Outsystems Developer Medior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als ervaren Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van de

Bekijk vacature »

Node.js developer looking for a challenging consul

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

Bekijk vacature »

Functioneel Applicatiebeheerder

Wij van CNB zijn op zoek naar een leergierige Functioneel Applicatiebeheerder CNB is de grootste dienstverlener in de markt van bloembollen en vaste planten. In deze markt verricht CNB de volgende diensten: bemiddeling, veilen en het koelen en prepareren van bloembollen. Vanuit ons hoofdkantoor in Lisse werken bijna 100 collega’s dag in dag uit aan de bemiddeling van bloembollen. In Bovenkarspel vindt het koelen en prepareren van de bloembollen plaats. Wij zijn op zoek naar een enthousiaste Functioneel Applicatiebeheerder die naast een applicatie, ook sfeer kan bouwen! Jij: Vindt het leuk om binnen een klein IT-team aan de slag te

Bekijk vacature »

Senior/Lead Python developer

Functie Samen met je team, bestaande uit een senior, 2 mediors en één junior ontwikkelaar ga je op een Agile-gebaseerde aanpak werken aan hun software. Je hebt oog voor kwaliteit, risico’s en klantbelang. Communicatie met je collega’s en waar nodig ook met klanten speelt een belangrijke rol in het bereiken van een succesvol resultaat. Als persoon ben je slim, krijg je dingen voor elkaar en ga je resultaatgericht te werk. Binnen het development team is er veel zelfstandigheid, los van de stand-up (10:00 uur) en zo nu en dan pair-programming sessies. Technieken die zij gebruiken zijn o.a. Python, Django, MySQL,

Bekijk vacature »

3D BIM Add-on Developer

Als 3D BIM add- on ontwikkelaar bij KUBUS ontwikkel je add-ons (BCF Managers genaamd) voor de toonaangevende building information modeling (BIM) programma's Revit, Navisworks, Archicad, AutoCAD en Tekla Structures. BCF Managers maken gegevensoverdracht mogelijk tussen BIM-software en BIMcollab. Je werkt zowel aan de front- als aan de back-end. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en

Bekijk vacature »

Senior Front end developer

Functie Wij zijn op zoek naar een ambitieuze, zelfsturende Front-end Expert die ons (internationale) team komt versterken. Onze huidige software development afdeling bestaat uit 7 developers en designers. Wij zijn een écht softwarehuis, dus ervaring in software development is wel echt een must. Er wordt tegelijkertijd aan meerdere projecten gewerkt, voor mooie toonaangevende klanten. Je hebt dus regelmatig te maken met deadlines en opleveringen. Een deel van onze omgeving is in Angular.JS. Dit deel wordt langzamerhand omgebouwd naar de nieuwste versie van Angular. Jouw werkzaamheden zullen bestaan uit: Het aansturen en begeleiden van jouw collega’s Het implementeren van visuele elementen

Bekijk vacature »

Node.js developer

Functie Onder begeleiding van 3 accountmanagers waarvan er 1 binnen jouw expertise je aanspreekpunt zal zijn ga je aan de slag bij diverse opdrachtgevers. Hij of zij helpt je bij het vinden van een passende en uitdagende opdracht. Hierin houden ze uiteraard rekening met jouw situatie, ervaring en (technische) ambities. De opdrachten duren gemiddeld één tot 2 jaar. Hierdoor kun je je ook echt vastbijten in een project en als consultant impact maken. Naast de opdracht ben je regelmatig met je collega’s van de IT-afdeling om bijvoorbeeld onderlinge kennis te delen, of nieuwe trends te bespreken. Ook worden er regelmatig

Bekijk vacature »

Front-end Developer - React - Data Driven

Bedrijfsomschrijving Onze klant is een snelgroeiende organisatie die een data-driven inspectieapp op de markt hebben gebracht die nu al een aantal jaar door verschillende organisaties wereldwijd gebruikt wordt. Er zijn zo'n 6 mensen werkzaam bij dit bedrijf en ze zijn nu vooral op zoek naar een sterke front-end developer die wil gaan werken aan nieuwbouw applicaties en de uitbouw van de huidige applicaties. De reden dat ze zoeken is omdat er veel werk op komst is en ze hier de juiste capaciteit voor willen hebben. Er heerst hier een hele prettige sfeer waarin respect en eerlijke communicatie belangrijk is. Ook

Bekijk vacature »

Medior/senior Python developer

Functie Bedrijven komen bij deze organisatie om technische vraagstukken op te lossen en hierin ook tot oplossingen te komen waar ze zelf misschien niet aan gedacht hadden. Jij gaat vanuit je ervaring dus niet alleen hands-on aan de slag met het ontwikkelen, maar zult ook zeker adviseren en proactief meedenken met de klant. Er zijn meerdere lange en/of korte projecten en het type klanten is heel uiteenlopend. Zo kun je terecht komen in een multidisciplinair scrumteam waarin je als Python developer meewerkt, of juist voor een kleiner (Greenfield) project aan de slag gaan waarin je veel breder bezig bent. Door

Bekijk vacature »

Lead Fullstack developer

Functie omschrijving Ben jij een leergierige en ambitieuze junior developer met technische skills? Ben jij op zoek naar een werkgever die jouw de volledige vrijheid geeft om jezelf tot een volwaardige senior te ontwikkelen? Wij zijn op zoek naar een full stack developer die zich bezig wil bezig houden met het uitbreiden en verbeteren van de online webshop. Een onderdeel van jouw werkzaamheden is naast het beheren van de webshop ook om de processen en structuren te stroomlijnen. Werkzaamheden Onderhouden van de webshop (denk aan het bijhouden van de voorraad); Nieuwe functies toevoegen aan de product configurator door middel van

Bekijk vacature »

Digital Agency is looking for PHP developers!

Functie The team currently has 20 colleagues, consisting of developers (front and backend) and the operations team, which also includes management and two scrum masters. They are looking for a PHP developer who is able to work independently. You will work in one of the three scrum teams and start working on a project for the customer. The interesting thing about this is that you do have variety in terms of work, but at the same time continuously work for existing customers. This also gives you the opportunity to really go into depth and develop innovative technical solutions. In terms

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

20/04/2024 16:59:25
 
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.