Stom checkbox probleem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior PHP developer

Functie Samen met je development team werk je Agile Scrum en met jullie gezamenlijke kennis en ervaring bepalen jullie samen de beste keuze voor techniek en architectuur. Naast het ontwikkelen van software ben je continue bezig om ook jezelf te ontwikkelen. Ze werken met o.a.: PHP, Laravel, Doctrine, PHP Unit, Behat, React, TypeScript, (My)SQL, Postgress, Redis, ElasticSearch, Docker, Nginx, GIT flow, JIRA, AWS. Eisen • HBO werk- en denkniveau • Je hebt goede kennis en ervaring met PHP • Je bent niet bang voor complexe projecten • Je werkt graag zelfstandig aan applicaties • Je bent altijd nieuwsgierig naar nieuwe

Bekijk vacature »

Java Full Stack Developer

Java Full Stack developer What makes Cognizant a unique place to work? The combination of rapid growth and an international and innovative environment! This is creating a lot of opportunities for people like YOU — people with an entrepreneurial spirit who want to make a difference in this world. At Cognizant, together with your colleagues from all around the world, you will collaborate on creating solutions for the world's leading companies and help them become more flexible, more innovative and successful. And this is your chance to be part of the success story: we are looking for a (Senior) Java

Bekijk vacature »

Java/Kotlin Developer

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Junior PHP Developer

Je maakt een vliegende start van je carrière, door meteen mee te bouwen aan de digitale aspecten van Coolblue. Wat doe je als Junior PHP Developer bij Coolblue? Als Junior PHP Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen om te groeien als Junior Developer. Op dat moment komt je wil om steeds te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te kunnen maken. Je sterk analytisch vermogen komt dan ook goed

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 »

Junior .NET developer

Functie Wij hebben drie scrumteams. Het eerste team focust zich op het stukje hardware wat wij in huis doen. Zij maken als team o.a. gebruik van C++. De andere twee scrumteams zijn allebei bezig met data verwerking en maken hierbij in de backend gebruik van C# .NET / .NET Core. Het verschil tussen deze teams is dat één team de data verwerking doet voor de mobiele applicatie. Zij werken hierbij dus ook met Xamarin. Het andere team focust zich op de webapplicaties en maakt hierbij ook gebruik van ASP.NET MVC. Op basis van jouw ambities en kwaliteiten kijken wij samen

Bekijk vacature »

Belastingdienst - Freelance Senior Cobol Applicati

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 7 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Functieomschrijving: In de applicatie ETM zijn nu de inningsvoorzieningen voor ongeveer 25 aangifte- en aanslagmiddelen opgenomen. ETM is een extern aangeschafte service en het huidige contract met leverancier Oracle loopt af op 31-12-2022. Het programma uitfaseren ETM heeft als doel om vervanging te realiseren waarmee alle nu in gebruik zijnde ETM ondersteuning wordt overgenomen in nieuwe Inningsvoorzieningen om de continuïteit van de inningsprocessen te waarborgen. Eén van de inningsvoorzieningen die voor het einde van 31-12-2022

Bekijk vacature »

Fullstack of back-end PHP developer

Functie Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten. Het team bestaat uit 4 developers, een klein team dus met korte lijnen. Alles in intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. In het team streven ze naast de hoogst haalbare kwaliteit. Hiervoor werken ze nauw met elkaar samen en levert

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 »

Frontend Developer - Leeuwarden

Frontend Developer – Leeuwarden Als Frontend Developer bouw jij mee aan het onderwijs van de toekomst! In een scrum team werken met jonge en enthousiaste collega’s, moderne technieken, ruimte voor eigen ontwikkeling en op een proactieve wijze kunnen meewerken aan innovatie binnen het onderwijs. Magister is het state-of-the-art softwarepakket dat scholen in het voortgezet onderwijs op alle fronten ontzorgt. Van leerlingenadministratie tot het ondersteunen van individuele leerlijnen, van toegang tot digitaal lesmateriaal tot het plannen van het lesrooster. In de Magister app bedient Magister ruim 2,5 miljoen gebruikers waarvan, dagelijks meer dan 600.000 unieke. Hiermee is Magister de absolute marktleider

Bekijk vacature »

Back End Developer .NET

Dit ga je doen Ontwikkelen in C# .NET en werken aan nieuwbouw, uitbouw en onderhoud van de software (die communiceren met 68.000 sensoren, waardoor er meerdere miljoenen berichten per uur verwerkt worden); Samenwerken in Scrum Teams; Meewerken aan verschillende, uitdagende projecten; Werken met nieuwe technologieën en vrijheid krijgen om jezelf te ontwikkelen en door te groeien. Hier ga je werken Je komt als Developer te werken bij een organisatie die gespecialiseerd is in software die real-time wordt gebruikt. De software constateert waar werk moet worden uitgevoerd en de chauffeurs worden met een andere applicatie hierop geattendeerd. Ook wordt er direct

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een leuke opdrachtgever in de omgeving van Hilversum! Voor een leuk bedrijf in de omgeving van Hilversum zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. Ben jij iemand die graag aan verschillende projecten werkt en het ook leuk vindt om bij klanten op bezoek te gaan? Dan ben jij de perfecte kandidaat! Deze functie is erg divers, je moet dus goed kunnen schakelen. Je komt te werken in een klein team van developers. Binnen het bedrijf hangt er een gemoedelijke informele

Bekijk vacature »

Java (Java EE) Developer

In het kort Werken als Java developer betekent werken aan complexe IT projecten bij onder meer een internationaal containeroverslag bedrijf. Zo sturen we apparaten en eindgebruikers aan d.m.v. onze custom-made software oplossing, die dagelijkse vele duizenden containers verwerkt. Denk aan systemen die volautomatische kranen aansturen en op afstand bedienen, de volledige afhandeling van containernummerherkenning bij het laden en lossen van zeeschepen of het tonen van instructies aan de chauffeurs van ruim 300 straddle carriers. En dat allemaal redundant, robuust en in een dynamische 24/7 omgeving! Jij versterkt ons ontwikkelteam en gaat aan de slag met oa. Java i.c.m. Spring (Boot),

Bekijk vacature »

PHP Developer

Functie omschrijving Als PHP Developer ga jij aan de slag met uitdagende software projecten. 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. Deze software bouw je vooral in PHP en specifiek Laravel. Dit framework kent dus geen geheimen voor jou. De software die jij gaat ontwikkelen is heel divers, van urenregistratiesystemen tot compleet geautomatiseerde tools. In deze veelzijdige functie ga jij je zeker niet vervelen, elke dag bestaat weer uit nieuwe uitdagingen. Bedrijfsprofiel Deze

Bekijk vacature »

Outsystems Developer Junior

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 junior Outsystems 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

Bekijk vacature »
Donald Boers

Donald Boers

11/12/2015 09:05:30
Quote Anchor link
Op een website voor scooter onderdelen heb ik op de update pagina voor een onderdeel 5 chekboxen staan met modellen waar dit onderdeel voor geschikt is (komt uit tafel modellen):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php foreach ( $selected_modellen as $model ): ?>
<input name="model_id[]" type="checkbox" value="<?php echo $model['model_id']; ?>">         
<?php endforeach; ?>

Bij het invoeren van de diversen onderdelen heb ik de modellen waarop een onderdeel past, ook gebruikmakend van checkboxen, ingevoerd in een many-to-many tafel (onderdeel_modellen):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
foreach ($model_id as $model)
{
    $this->onderdelen->onderdeel_modellen_toevoegen($onderdeel_id, $model);
}

Deze gegevens haal ik vervolgens ten behoeve van de update pagina uit de database:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
public function get_onderdeel_modellen($onderdeel_id)
{
    $sql = "SELECT *
              FROM onderdeel_modellen
             WHERE onderdeel_id = ?";

    $stmt = $this->pdo->prepare($sql);
    $stmt->execute(array($onderdeel_id));
        
    return $stmt->fetchAll();
}

Waar ik nu mee worstel is hoe ik het juiste aantal checkboxen in de bovenstaande loop gechecked krig op basis van de bovenstaande query. Ik heb een aantal dingen geprobeerd zoals:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input name="model_id[]" type="checkbox" value="<?php echo $model['model_id']; ?>" <?php if ($onderdeel_modellen['model_id'] == $model['model_id']) ?> checked <?php endif; ?>>

Maar ik krijg het niet werkend
Gewijzigd op 11/12/2015 09:07:52 door Donald Boers
 
PHP hulp

PHP hulp

23/04/2024 18:33:40
 
Jan de Laet

Jan de Laet

11/12/2015 09:36:06
Quote Anchor link
Je value is nu $model['model_id'], zou dat niet de 'id' van tabel onderdeel_modellen moeten zijn?
 
Donald Boers

Donald Boers

11/12/2015 10:19:28
Quote Anchor link
Jan de Laet op 11/12/2015 09:36:06:
Je value is nu $model['model_id'], zou dat niet de 'id' van tabel onderdeel_modellen moeten zijn?

Nee alleen de model_id's die in onderdeel_modellen staan en bij het betreffende product horen dienen gecheked te zijn.
Dit is de data in de tafel modellen die ik gebruik voor het genereren van de model checkboxen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
INSERT INTO `modellen` (`model_id`, `model`) VALUES
(1, 'A35'),
(2, 'Flexer'),
(3, 'PackR'),
(4, 'Revival'),
(5, 'Standaard'),
(6, 'Youngster');

en dit is een voorbeeld van data in tafel onderdeel_modellen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
INSERT INTO `onderdeel_modellen` (`id`, `onderdeel_id` `model_id`) VALUES
(7, 1, 213),
(8, 2, 213),
(9, 3, 213);

dus bij product 213 dienen alleen de eerste drie van de totaal zes checkboxen gechecked te zijn.

Maakt dit het wat duidelijker

Toevoeging op 11/12/2015 11:45:07:

Ik heb het geprobeerd met een ingesloten foreach loop:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php foreach ($modellen as $model): ?> // foreach loop voor het genereren van de checkboxen
    <?php
        $checked
= array();
        foreach ($selected_modellen as $selected):
            $checked[] = $selected['model_id'];?>
                    
    <?php endforeach; ?>
    <input name="model_id[]" type="checkbox" value="<?php echo $model['model_id']; ?>" <?php if ($checked == $model['model_id']): ?>checked<?php endif; ?>>
<?php endforeach; ?>

Maar helaas zonder resultaat. Wat zie ik over het hoofd?
Gewijzigd op 11/12/2015 10:24:09 door Donald Boers
 
Max Vaessen

Max Vaessen

11/12/2015 12:57:34
Quote Anchor link
Hi Ronald,

Zou je voor mij eens een opzet van de arrays '$modellen' en '$selected_modellen' kunnen laten zien?
Dan kan ik er even naar kijken.

PS: conventie tip: in het scriptje waar je de input genereert met daarbij of deze selected is of niet, gebruik je veel < ?php. Persoonlijk zou ik alles in 1 < ?php zetten en de input dus printen / echo'en. Dit is on-the-long-run een stuk efficienter omdat de PHP parser niet voor elke regel moet kijken of hij PHP of HTML voorgeschoteld krijgt en opnieuw moet parsen.

Max
Gewijzigd op 11/12/2015 12:59:14 door Max Vaessen
 
Donald Boers

Donald Boers

11/12/2015 13:27:05
Quote Anchor link
Hi Max. Hartelijk dank voor je reactie en tips

//Model modellen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT model_id
     , model
  FROM modellen


//Model onderdeel_modellen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT model_id
  FROM onderdeel_modellen
 WHERE onderdeel_id = ?


In de Controller

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$onderdeel_id      = filter_input(INPUT_POST, 'onderdeel_id', FILTER_SANITIZE_NUMBER_INT);
$selected_modellen = $this->artikelen->get_selected_modellen($onderdeel_id);
$modellen          = $this->artikelen->get_modellen_dropdown();


Waarbij $selected_modellen en $modellen uiteraard naar de view gaan. Is dit voldoende info?
Gewijzigd op 11/12/2015 13:29:48 door Donald Boers
 
Jan de Laet

Jan de Laet

11/12/2015 13:41:33
Quote Anchor link
In je reactie van 10:19 lijken mij in de onderdeel_modellen de velden onderdeel_id en model_id omgewisseld.
Bij 213 is onderdeel en 1 is model_id
Gewijzigd op 11/12/2015 13:41:48 door Jan de Laet
 
Max Vaessen

Max Vaessen

11/12/2015 13:42:24
Quote Anchor link
Hoi Donald,

Zou je voor mij eens een print_r(); willen doen van de arrays die je in je controller hebt staan? Dan kan ik de situatie iets gemakkelijker nabootsen, dan op wat uitleg afgaan (foutgevoelig, ook van mijn kant) :)
 
Donald Boers

Donald Boers

11/12/2015 14:39:30
Quote Anchor link
Max Vaessen op 11/12/2015 13:42:24:
Hoi Donald,

Zou je voor mij eens een print_r(); willen doen van de arrays die je in je controller hebt staan? Dan kan ik de situatie iets gemakkelijker nabootsen, dan op wat uitleg afgaan (foutgevoelig, ook van mijn kant) :)

Hoi Max. Ik ben er uit. In de Controller heb ik met de resultaten van de selected_modellen een nieuwe array samengesteld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
$id = array();
foreach ($selected_modellen as $selected)
{
    $id[] =  $selected['model_id'];    
}


en vervolgens de $id array naar de view gestuurd inplaats van $selected_modellen en dan in de view:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php foreach ($modellen as $model): ?>              
    <input name="model_id[]" type="checkbox" value="<?php echo $model['model_id']; ?>" <?php if (in_array($model['model_id'], $id)): ?>checked<?php endif; ?>><?php echo $model['model']; ?>
<?php endforeach; ?>


Hartelijk dank voor je tijd en input. Heeft me reuze geholpen
Gewijzigd op 11/12/2015 14:40:40 door Donald Boers
 
Max Vaessen

Max Vaessen

11/12/2015 14:47:24
Quote Anchor link
Hoi Donald,

Zo veel had ik nog niet gedaan :), maar fijn dat je geholpen bent!

Succes!
Gewijzigd op 11/12/2015 14:47:39 door Max Vaessen
 



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.