Checkbox checked MySQL

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Traineeship IT regio Amsterdam/Utrecht

Wat ga je doen? Het traineeship begint met een fulltime maand cursussen en praktijkdagen, waarin je de basis van het IT-vak leert op de Shared Servicedesk (SSD). Daarnaast ga je meteen aan de slag voor je eerste certificering! (ITILv4). Je start in een groep met 4 tot 10 deelnemers, waarmee jij gedurende die maand optrekt en je kennis kunt delen. Na het voltooien van de eerste maand ga je direct voor een langere periode aan de slag bij één van onze klanten of blijf je intern bij ons op de Shared Servicedesk. Je bent het eerste aanspreekpunt van de eindgebruikers

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 »

Senior front-end developer (React)

Functie Momenteel zijn ze op zoek naar een ervaren front-end developer. Als senior werk je nauw samen met 5 collega developers. Een klein scrum team dus, met korte lijnen waardoor jouw ideeën snel tot uitvoering gebracht kunnen worden. De huidige applicaties worden veelal ontwikkeld met o.a. React, Redux, TypeScript. Ze zijn echt op zoek naar een kartrekker in het team. Naast het meedenken over, opzetten en uitvoeren van bijvoorbeeld de architectuur of toepassing van nieuwe technieken krijg je ook veel tijd om de meer junior (front-end) developers te begeleiden. Hierin nemen ze graag de tijd om mensen de ruimte te

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 »

Developer Full Stack

Functie omschrijving Full Stack Developer gezocht! Wij zijn op zoek naar een Full Stack Developer voor een bedrijf in de regio Nijkerk. Je maakt in deze functie onderdeel uit van een groeiend team met een goede ambitie waarbij eenheid, betrokken en overtreffen de belangrijkste kernwaardes zijn. Het bedrijf werkt volgens de AGILE/SCRUM methode, wat je o.a. terug vindt in de tweewekelijkse sprints, retrospectives en een daily standup. Je takenpakket bestaat uit: Bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van een Saas applicatie; Bijdragen aan de innovatie van het bedrijf en hun klanten; Het ontwikkelen op de laatste technologie van

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je hier

Bekijk vacature »

Senior Applicatie ontwikkelaar Java

Bedrijfsomschrijving De IV- organisatie van de Belastingdienst is verantwoordelijk voor en verzorgt de ICT- voorzieningen. Het merendeel van de applicaties wordt op dit moment door de IV- organisatie zelf ontwikkeld, onderhouden en beheerd in het eigen data center. Naast de zorg voor continuïteit op de massale heffing- en inningsprocessen die plaatsvinden binnen een degelijke, stabiele omgeving, wordt er tevens volop gewerkt aan modernisering van het IV- landschap. Dit gebeurt deels intern door gebruik te maken van de expertise die intern aanwezig is, maar ook door het aantrekken van (kant-en-klaar) oplossingen en expertise uit de markt. Functieomschrijving We verwachten van je,

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 »

Oracle Developer / PL SQL

Dit ga je doen Software ontwikkeling aan een internationaal gebruikt pakket; Werken met technieken als Oracle 19c, Toad, PL/SQL, Oracle Forms, Reports en Designer; Meedraaien in internationale projecten; Meedenken over technisch en functioneel ontwerp; Samenwerken met collega's als Informatie Analisten, Testers en Release Managers; Soms wensen en eisen afstemmen met de business. Hier ga je werken Onze klant, een internationaal bekend bedrijf dat essentiële producten maakt waar iedereen graag gebruik van maakt, zoekt versterking in het Software Development team. Samen met 3 developers, een release manager, een informatie analist en 3 testers werk jij aan een systeem waarmee complexe producten

Bekijk vacature »

.NET Software Developer

Dit ga je doen Als .NET Software Developer zul jij je voornamelijk bezig houden met: Het van scratch af aan bouwen van applicaties (.NET, C#, Bootstrap, KnockoutJs en WebAPI2); Het testen van jouw code d.m.v. het uitvoeren van unittesten; Het oplossen van bugs in de code; Het onderhouden van contact met collega's betreffende de door jouw ontwikkelde applicaties; Het verbeteren en doorontwikkelen van maatwerkapplicaties. Hier ga je werken Jij gaat aan de slag als .NET Software Developer en gaat je focussen op het bedenken, ontwikkelen en testen van maatwerkapplicaties in voornamelijk C#. Dit ga je doen bij een grote, internationale

Bekijk vacature »

E-Identity Developer met Projectleider Kwaliteiten

Functieomschrijving Voor de kamer van koophandel zijn we op zoek naar een E-Identity developer met projectleider kwaliteiten. Voor deze opdracht zoekt KVK een Informatieanalist met Technisch Projectleider en ICT developer kwaliteiten, met kennis van E-identity. We zoeken in de breedte en niet specifiek in de diepte qua skillset. Een Junior Projectmanager, een Junior Informatieanalist, een Junior Developer (full stack), een Junior Designer en een Junior ICT architect ineen, met een sterk gevoel van stakeholder management en planning vaardigheden. Door de internationale setting, én de realisatie van ontsluiting van en naar basisregisters toe zijn wij op zoek naar enige ervaring binnen

Bekijk vacature »

PHP Developer

As a PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible. How do I become a PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the job suits you. You enjoy doing this Writing vanilla PHP code. Working with

Bekijk vacature »

.NET developer

Functie As a .NET developer you start in a driven and diverse development team. Your team consists of 16 IT professionals, including 7 software engineers. Because your new employer is internationally active, there are also international IT professionals working in the IT department. As a result, the official language is English. As a team you are responsible for a new Cloud Native product. This product runs entirely in Azure with a Progress Database and various Azure Functions. In addition, this product has a JS front-end, a REST API system and a layer in C # .NET. The idea is therefore

Bekijk vacature »

Gezocht: .Net ontwikkelaars met een maatschappelij

Bedrijfsomschrijving Zoek jij als medior .Net ontwikkelaar een inspirerende werkplek bij een bedrijf met maatschappelijk verantwoordelijkheidsgevoel? Dan is deze vacature je op het lijf geschreven. De organisatie bestaat ruim 20 jaar en ze ontwikkelen in house applicaties waarmee de zorgsector enorm mee gebaat is. Jouw applicaties worden gebruikt door duizenden gebruikers waardoor je echt een waardevolle bijdrage kan leveren aan de maatschappij. Het bedrijf is zeer innovatief en vindt een goede werk/privé balans belangrijk. Je krijgt alle mogelijkheden om jezelf verder te ontwikkelen, je werktijden in te delen en daarnaast is het ook mogelijk om deels thuis te werken. Het

Bekijk vacature »

Productontwikkelaar Food

Wat ga je doen Als Productontwikkelaar Food ga je nieuwe producten ontwikkelen en bestaande producten verbeteren. Je bent hierbij betrokken bij het gehele proces: van productconcept naar proefreceptuur, het realiseren va het product (op kleine schaal) en het testen van producten in een productieomgeving. Verder: Bewaak je de status van verschillende fases van productontwikkeling en lever je tijdig de benodigde data aan Ben je bezig met de optimalisatie van oude en nieuwe recepturen Begeleid of organiseer je proefsessies (sensorisch onderzoek) in het team en/of bij klanten Onderhoud je contacten met de klanten, leveranciers van grondstoffen e.a. externe partijen Houd je

Bekijk vacature »
Bryan De Baar

Bryan De Baar

28/01/2020 21:49:30
Quote Anchor link
Goede avond,


Kan iemand mij helpen met het aanvinken van checkboxes vanuit MySQL?

De database

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
Players
+------+------+
|  ID  | NAME |
+------+------+
|  1   | Lisa |
|  2   | Ben  |
|  3   | Ruud |
+------+------+

TEAMS
+------+------+
|  ID  | TEAM |
|  1   | Rood |
|  2   | Geel |
|  3   | Blauw|
|  4   | Groen|
+------+------+


Match
+------+------+
| PID  |  TID |
|  1   |   3  |
|  2   |   1  |
|  2   |   4  |
|  3   |   2  |
+------+------+

Wat ik als uitkomst zou willen als ik de data van 'Ben' fetch
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<label><input type="checkbox" value="1" checked="checked">Rood</label>
<label><input type="checkbox" value="2">Geel</label>
<label><input type="checkbox" value="3">Blauw</label>
<label><input type="checkbox" value="4" checked="checked">Groen</label>

Welke query pas ik toe en laat ik PHP dit als resultaat geven?

Ik weet dat ik zoiets als INNER JOIN moet gebruiken :)
Gewijzigd op 28/01/2020 21:50:12 door Bryan De Baar
 
PHP hulp

PHP hulp

05/05/2024 05:10:27
 
- Ariën  -
Beheerder

- Ariën -

28/01/2020 22:49:32
Quote Anchor link
Voor het aanvinken moet je kijken of de verwachte ingevoerde waarde (groen) overeenkomt met de SQL-query.
Je moet nog wel een mysqli_query() en een mysqli_fetch_assoc() gebruiken, maar dat kan je vast wel proberen in te bouwen. Bekijk ook even deze link: https://www.w3schools.com/sql/sql_join_inner.asp

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$check
= (($_GET['kleur'] == $data['kleur'])? 'checked="checked"' : NULL);
?>

<label><input type="checkbox" value="4" <?php if(isset($check)) { echo $check }; ?>>Groen</label>

Edit: isset() toegevoegd, en een linkje naar W3schools
Gewijzigd op 28/01/2020 23:40:32 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

28/01/2020 23:42:36
Quote Anchor link
En als je dit ook op een zinnige manier wilt ver/bijwerken dan zul je die checkboxen ook een naam moeten geven?

Mogelijk is het dan een idee om de teams in een array te stoppen, met als key de id's van de teams. De values doen er niet echt toe, omdat een niet gecheckte checkbox in het geheel niet gePOST wordt.

Quote:
Ik weet dat ik zoiets als INNER JOIN moet gebruiken :)

Nou niet per se. Is het mogelijk dat iemand geen onderdeel uitmaakt van een team? Initieel is dit misschien het geval? In dat geval zou je met een INNER JOIN geen resultaten krijgen? Ik denk dat je -wat je hier ook precies mee wilt doen, zie de volgende paragraaf- verder komt met een LEFT JOIN.

En waarom is de tabel "Match" enkelvoud? Wat betekent deze tabel precies? Als het echte wedstrijden zouden zijn dan zou ik verwachten dat iemand meerdere keren een "match" voor een "team" zou kunnen hebben? Is dit toevallig iets anders, bijvoorbeeld in welk team iemand opgesteld kan/mag staan? Dan zou ik eerder een titel als "Lineups" of "Team Members" verwachten ofzo. En dan zou het ook logischer zijn dat een speler-team combinatie maximaal één keer voorkomt in die tabel.

De "Players" tabel is eigenlijk meer een "personen" tabel denk ik? En een speler is meer iemand die in een bepaalde wedstrijd voor een bepaald team speelt? En daarmee ligt ook indirect vast tot welk(e) team(s) iemand behoort? Meerdere aanpakken mogelijk. Hoe je dit vormgeeft hangt af van de regels in jouw specifieke situatie. Maar de opzet van en relaties tussen de tabellen zouden dit wel moeten weerspiegelen.
 
Bryan De Baar

Bryan De Baar

28/01/2020 23:54:06
Quote Anchor link
Beste Ariën en Thomas,


Ik heb het een en ander geprobeerd en heb de tabel match veranderd naar lineup.
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
<?php
$sql
        = "
            SELECT
                players.id ppid,
                players.name,
                teams.id ttid,
                teams.team
            FROM
                lineup
            JOIN players ON lineup.pid = players.id
            JOIN teams ON lineup.tid = teams.id
            WHERE players.id=2
            "
;
$result        = mysqli_query($connection, $sql);
while($row = mysqli_fetch_assoc($result)){
    echo $row['ppid'].' '.$row['name'];
    echo '<label><input type="checkbox" value="'.$row['ttid'].'">'.$row['team'].'</label><br>';
}

?>

Het resultaat hiervan is
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
2 Ben <label><input type="checkbox" value="1">Rood</label>
2 Ben <label><input type="checkbox" value="4">Groen</label>


Hoe krijg ik nu alle teams qua checkboxes en alleen rood en groen geselecteerd als ik fetch op de player id 2?
Gewijzigd op 28/01/2020 23:54:29 door Bryan De Baar
 
- Ariën  -
Beheerder

- Ariën -

28/01/2020 23:58:55
Quote Anchor link
Heb je mijn code al gezien? Je wilt immers een vergelijking doen met iets wat in je database staat.
Gewijzigd op 28/01/2020 23:59:18 door - Ariën -
 
Bryan De Baar

Bryan De Baar

29/01/2020 00:03:54
Quote Anchor link
Waar komt die $_GET vandaag Ariën?
 
- Ariën  -
Beheerder

- Ariën -

29/01/2020 00:08:07
Quote Anchor link
Het is een voorbeeld die ik gaf. $_GET komt uit de URL (www.example.org?kleur=groen). Maar het kan net zo goed ook een POST via een formulier zijn.
Gewijzigd op 29/01/2020 00:09:34 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

29/01/2020 00:33:24
Quote Anchor link
Als je enkel het profiel van "Ben" bekijkt dan zou je gemakshalve enerzijds de gegevens van "Ben" kunnen ophalen, en anderszijds een lijst van teams, en de teams waarin hij staat opgesteld. Je hoeft dit niet per se tot één gigantische query te combineren.

Voor het genereren van de teamlijst neem je de teams-tabel als uitgangspunt, want je wilt deze altijd volledig uitdraaien. Het staat niet vast of Ben voorkomt in een team (of wat voor team dan ook) dus het is nogal ongewis of deze (uberhaupt) voorkomt in de lineups-tabel (meervoud is misschien beter?). Als je in zo'n situatie zit (alle resultaten van A, mogelijk niet aanwezig in B) dan kun je vrijwel altijd een A LEFT JOIN B aanpak hanteren. Je krijgt dan altijd alle resultaten van A terug, en als de conditie voor B niet matcht, dan krijg je een NULL-waarde terug.

Je query wordt dus zoiets:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT t.id, t.name, l.team_id
FROM teams t
LEFT JOIN lineups l ON (l.team_id = t.id AND l.player_id = 2)

En die 2 (het id van Ben) heb je dan al uit je vorige query gevist.

Dit levert:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
+----+-------+---------+
| id | name  | team_id |
+----+-------+---------+
|  1 | Rood  |       1 |
|  4 | Groen |       4 |
|  2 | Geel  |    NULL |
|  3 | Blauw |    NULL |
+----+-------+---------+
4 rows in set (0.00 sec)

Hierbij is het belangrijk dat je het "l.player_id = 2" in het ON-gedeelte zet, anders vind je (vanzelfsprekend) geen resultaten voor team Geel of Blauw.

Vervolgens kun je deze resultaten aflopen en indien het team_id van de lineup verschilt van NULL dan houdt dit in dat Ben hier in de opstelling staat en kun je dit item aanvinken.

Dus 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
<?php
$res
= $db->query(
    'SELECT t.id, t.name, l.team_id
    FROM teams t
    LEFT JOIN lineups l ON (l.team_id = t.id AND l.player_id = 2)'

);
while ($row = $res->fetch_assoc()) {
    $checked = ($row['team_id'] === NULL ? '' : ' checked="checked"');
    ?>
<label>
        <input type="checkbox" name="teams[<?php echo $row['id']; ?>]"<?php echo $checked; ?>><?php echo $row['name']; ?>
    </label><?php
}
?>

NB: output escaping hier voor de leesbaarheid even achterwege gelaten.

Volledige SQL voor snelle test (minus relaties tussen tabellen):
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
CREATE TABLE teams (
id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO teams (name) VALUES ('Rood'), ('Geel'), ('Blauw'), ('Groen');

CREATE TABLE lineups (
team_id INT(10) UNSIGNED NOT NULL,
player_id INT(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO lineups (team_id, player_id) VALUES (3, 1), (1, 2), (4, 2), (2, 3);

SELECT t.id, t.name, l.team_id
FROM teams t
LEFT JOIN lineups l ON (l.team_id = t.id AND l.player_id = 2)
Gewijzigd op 29/01/2020 00:42:02 door Thomas van den Heuvel
 
Bryan De Baar

Bryan De Baar

30/01/2020 13:30:33
Quote Anchor link
Hi Thomas,


Thanks!!! Dit is precies wat ik zocht en begrijp nu beter hoe dit in elkaar steekt!


Hartelijk 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.