Checkbox checked MySQL

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior/senior Fullstack 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 »

Junior Software Developer (HBO / WO)

Functie omschrijving Voor een leuke opdrachtgever zijn wij op zoek naar een Junior Software Developer! Sta jij aan het begin van je carrière en heb je net je HBO of WO-diploma in de richting van ICT of Techniek mogen ontvangen? En heb jij grote affiniteit met software development? Dan hebben wij bij Jelling IT Professionals de perfecte opdrachtgever in de omgeving van Hoofddorp. Binnen deze functie vervul je een onsite learning programma waarbij je aan de slag gaat met PHP en Laravel. Hierbij ben je voornamelijk werkzaam op verschillende klantlocaties en is het jouw taak om hun wensen en eisen

Bekijk vacature »

Software Ontwikkelaar

Functieomschrijving In deze uitdagende functie als Software Developer ga je de volgende taken uitvoeren: Maatwerk back-end software programmeren; API koppelingen bouwen; Software optimaliseren voor klanten; Bouwen maatwerk applicaties; Werken met Microsoft stack zoals C#, .NET (Core) en Entity framework; Bedrijfsprofiel Je gaat werken bij een klein softwareontwikkelingsbureau, die maatwerk software bouwt voor klanten door heel Nederland. Dit doen zij al meer dan 20 jaar. Het is van oorsprong een familiebedrijf, opgezet door de eigenaar, die er nog steeds werkt. Het team bestaat vooral uit back-end developers en één systeembeheerder. Je krijgt veel kans om jezelf te ontwikkelen en krijgt tevens

Bekijk vacature »

T-SQL Database developer

Functie omschrijving Ben jij een ETL database specialist? Houd jij ervan om te puzzelen met Databases, Query's & Stored procedures? Zoek jij uitdaging, vrijheid en verantwoordelijkheid? Zoek dan niet verder! Wij zijn per direct op zoek naar medior en senior database developers. Je gaat werken voor een relatief klein softwarebedrijf in omgeving Tilburg. Samen met 12 collega's (allemaal techneuten), ga jij je bezig houden met het bouwen en/of onderhouden van database software. Deze software wordt internationaal ingezet voor het automatiseren van logistieke processen. Jouw werkzaamheden gaan er als volgt uit zien: Je bent in een klein team met developers, verantwoordelijk

Bekijk vacature »

Ervaren Magento developer gezocht!

Functie Je komt te werken in een zelfsturend team waarin vertrouwen voorop staat en inbreng en ideeën worden gewaardeerd. Ook staat innovatie centraal. Ze bieden jou de mogelijkheid om jezelf door te ontwikkelen. Denk hierbij aan cursussen en een persoonlijk ontwikkelplan. Je komt terecht in het team van momenteel 4 (ervaren) collega’s en zal meewerken aan de doorontwikkeling en nieuwbouw van de Magento platformen van meerdere opdrachtgevers volgens Agile/Scrum. Denk hierbij aan nieuwe functionaliteiten, UX en koppelingen met verschillende back-end systemen. Als ervaren developer zul je hiernaast ook andere developers assisteren en waar nodig de leiding nemen in het project.

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 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

Bekijk vacature »

Front-end (Angular) developer - remote werken

Functie Als Front-end (Angular) developer ga je aan de slag met het uitbouwen van hun webapplicatie, als één van de front-end experts ga je samen met collega’s in een devops team werken aan een nieuw front-end voor hun calculatie oplossing. Binnen de calculatiesoftware kunnen meerdere professionals tegelijk samenwerken, 3D calculaties uitvoeren en ook inzien met de benodigde specifieke details. Deze software wordt veel ingezet om projectbeschrijvingen en kosten in kaart te brengen, en tijdens de uitvoering te bewaken. Maar hiernaast liggen er in de toekomst veel meer plannen op het gebied van front-end in de andere applicaties. Genoeg te doen

Bekijk vacature »

Java Developer

Dit ga je doen Als Java Developer ben je verantwoordelijk voor: Het ontwikkelen van nieuwe en bestaande webservices; Het uitbreiden van functionaliteiten binnen de producten- en dienstenportefeuille; Het werken aan gegevensuitwisseling met bijvoorbeeld SOAP; Testen van frameworks met gebruik van UNIT en Selenium. Hier ga je werken De organisatie waar je komt te werken is een semi-overheidsinstelling, gesitueerd in Utrecht en zorgt voor een goede samenwerking tussen verschillende overheidsinstanties. Het is een familiaire club die gaat voor kwaliteit en langdurige relaties. Zo zorgen zij ervoor dat er op grote schaal vertrouwelijke informatie tussen verschillende overheidsinstellingen wordt uitgewisseld. Hun werk zorgt

Bekijk vacature »

Junior / Medior C# .NET ontwikkelaar in Brabants t

Bedrijfsomschrijving Ben jij een gepassioneerde C# .NET ontwikkelaar met een voorliefde voor hardware? Dan is dit de perfecte kans voor jou! Bij ons bedrijf krijg je de kans om deel uit te maken van een team van sociale en enthousiaste techneuten die er elke dag naar streven om onze eigen ontwikkelde software nog beter te maken. Het team van ongeveer 10 team medewerkers maakt zich hard om de interne processen gestroomlijnd te laten verlopen. Functieomschrijving Als lid van ons hechte en behulpzame team word je betrokken bij diverse projecten. Daarbij krijg je te maken met data-analyses, content en de logistieke

Bekijk vacature »

Trainee pega developer

Wil jij een mooie stap maken in jouw carrière? Mooi! Bij De Mandemakers Groep haal je binnen 6 maanden je CSA- en CSSA-certificaten, waarna jij aan de slag kan als Pega-developer in ons IT-team. Achter de schermen zorg jij ervoor dat collega’s efficiënt werken en klanten iedere dag beter geholpen worden. Wil jij daaraan bijdragen? En jouw ICT-skills ontwikkelen? Lees dan snel verder en solliciteer vandaag nog als trainee Pega-developer. Wat ga je doen? Als trainee Pega developer leiden wij je op tot gecertificeerd software developer voor het low-code platform PegaSystems. In de training ben je verantwoordelijk voor een te

Bekijk vacature »

.Net ontwikkelaar - Het schoolsysteem verbeteren!

Bedrijfsomschrijving Onze klant is een prettige en kleinschalige organisatie waar hard gewerkt wordt om het onderwijs te verbeteren. Daarom werken ze aan complexe om administratieve, financiële en facilitaire processen te versnellen en te verbeteren. Dit doen ze vanuit een platte organisatie voor klanten die door geheel Nederland verspreid zitten, hier horen vanzelfsprekend een aantal aansprekende HBO scholen en universiteiten toe. Functieomschrijving Je komt terecht in een organisatie waar op dit moment 2 scrumteams werken. Jij zal als .Net developer binnen 1 van deze scrumteams functioneren, iedereen binnen dit team heeft zijn/haar eigen expertise waardoor er met verschillende invalshoeken aan een

Bekijk vacature »

Junior .NET developer

Functie Jij hebt natuurlijk net jouw Bachelor op zak en gaat nu voor het eerst aan de slag bij een werkgever als junior .NET ontwikkelaar. Waarschijnlijk lijkt het jou spannend om ineens aan de slag te gaan bij klanten in de consultancy. Maak je niet druk, jij komt hier terecht in een warm bad en wordt totaal niet in het diepe gegooid. Zodra jij hier begint wordt jij gekoppeld aan een persoonlijke manager met een persoonlijk ontwikkelplan. Jij krijgt een scala aan trainingen, denk aan trainingen ten behoeve van het opdoen van zelf kennis en gedragscompetenties, maar ook trainingen voor

Bekijk vacature »

.NET developer

Functie Jouw team van vier collega .NET developers is verantwoordelijk voor het bouwen van de ETL processen van jouw nieuwe werkgever. Op dit moment wordt de front-end gedaan door een extern team van professionals. Echter wilt jouw nieuwe werkgever graag intern deze kennis uitbreiden en heeft dan ook de ambitie om dit voor het eind van het jaar intern te gaan aanpakken. Dit betekend dat jij als .NET ontwikkelaar de ideale kans krijgt om jezelf samen met jouw collega’s te ontwikkelen als full stack developer. Als .NET ontwikkelaar werk jij bij deze gave werkgever met C# .NET, SQL, JavaScript, REST

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc 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

Bekijk vacature »

Back-end Developer (Permanent position with the em

Bedrijfsomschrijving Dutch specialist in technical installation materials. Functieomschrijving Purpose of the position: Our client is looking for a Back-end Developer who, together with the rest of the energetic and dynamic team, is responsible for the development and management of the website. This not only concerns the development and management of the current website, but also the development of a new Headless Commerce Platform to keep the customer's website Future proof. Within the IT department, there is a real DevOps culture and the commerce team is at the forefront and tries to implement continuous improvements. Most important tasks: ï‚· Designing and

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

29/03/2024 01:51:33
 
- 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.