Checkbox checked MySQL

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

HANA Developer

Our client leads the worldwide development, production and sales of high-end lithography systems for the semiconductor industry. In short, we make the machines that make computer chips, or integrated circuits. We build some of the most amazing, complex machines that you will ever see – and the software to run them – to develop smaller, faster and still more affordable chips. It is because of our machines that the world’s technology has steadily evolved. This role is situated in the Big Data Analytics (BDA) Domain, specifically in Corporate Analytics. Our teams have mixture of young talent and senior specialists and

Bekijk vacature »

Big Data Developer

De vacature In deze rol zul je nieuwe technologie ontwikkelen en integreren voor geavanceerde analytische uitvoering in een Big Data-omgeving Bovendien zul je: Werk in een agile team met collega's Ontwerp, implementeer en test software en zorg ervoor dat aan de kwaliteitsspecificaties wordt voldaan Ondersteuning van testingenieurs bij geautomatiseerde testen en softwarekwaliteitsborging Ondersteun procesverbeteringen, rijkwaliteit en productiviteit Functie eisen Je kent en bent gepassioneerd over NLP, machine learning en A.I. Ervaring met Hadoop / Spark / Kafka / Cassandra / MongoDB / R / Scala / Python / ElasticSearch / AWS / Unix Idealiter BSc / MSc / PhD in

Bekijk vacature »

Full stack Senior Developer

De vacature Als Developer in een agile team ontwikkel je software voor zowel front- als backend van onze regelsystemen. Een ideale functie voor iemand met een brede interesse op het gebied van software ontwikkeling. Als teamlid heb je een eigen specialisme, op dit gebied ben je echt een voorloper. Je houdt de nieuwste ontwikkelingen in de techniek bij en draagt die kennis over op jouw collega’s. Functie eisen Goede mondelinge en schriftelijke kennis van de Engelse taal Ervaring met C#, CSS, HTML5 .Net 4.0 en javascript Kennis van TDD / SOLID / Clean code C# .Net Azure (apps, CosmicDB) Angular

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 »

Front-End Developer

De vacature Als Software Developer ga je aan de slag met het verder ontwikkelen van onze eigen ontwikkelde producten. Zoals bijvoorbeeld de MyBouWatch portal, een geavanceerd platform waarmee je onze klanten inzicht in de keten en veiligheid op de locatie geeft. Door koppelingen met fysieke producten zoals slimme cameramasten, tourniquets en diverse sensoren werk je aan een innovatieve totaal oplossing waarin 4G/5G, RFID, sensoren en gebruikersinformatie Real Time samenvloeien. Zo maak je veiligheid en compliance eenvoudig door het bouwen van innovatieve producten voor veeleisende toepassingen. Je werkt in een klein team van ervaren ontwikkelaars en architecten, stuk voor stuk specialisten.

Bekijk vacature »

Java Ontwikkelaar

Binnen ICT Group werkt de business unit Machine & Systems zich bezig met geavanceerde besturingssystemen voor machine- en apparatenbouwers en voor grote systeemintegratoren. Met je collega’s zorg jij ervoor dat producten optimaal functioneren en connected zijn. Internet of Things, Cloud oplossingen en Big Data zijn niet meer weg te denken uit dit marktsegment. We leveren complete producten (hardware, OS en software applicaties) en zijn van toegevoegde waarde door het uitvoeren van complete projecten met resultaatverantwoordelijkheid op één van onze locaties, door het leveren van kennis en ervaring op locatie van onze klanten én door middel van advies trajecten. Requirements in

Bekijk vacature »

C# .NET Developer

De vacature Als C# .NET Developer werk je aan de ontwikkeling van complexe en innovatieve softwareoplossingen voor verschillende doeleinden. Denk aan medische behandeling, beheer & monitoring van hightech IT systemen, back end systemen voor connected devices & IOT, schaalbare platforms voor simulatie en geavanceerde correctieberekeningen etc. Je maakt typisch deel uit van een scrumteam dat veel autonomie heeft bij het organiseren van zijn ontwikkelingsactiviteiten. Het biedt ook een goede omgeving voor junioren en medioren om te groeien. Samen met jouw Fieldmanager kijken we naar de projecten die goed bij jou passen en die jou ondersteunen in jouw ontwikkeling en het

Bekijk vacature »

C# .NET Core Ontwikkelaar

Binnen ICT Group werken we binnen de business unit transport en logistiek dagelijks aan complexe maatwerk software voor bedrijfskritische systemen. Bij en voor onze klanten gaan we aan de slag met technische, complexe software-oplossingen binnen de technische automatisering op onder meer het IoT vlak. Zo ontwikkelen wij bijvoorbeeld aan een Iot oplossing waar we van ruim 200.000 machines hun telemetrie en events verwerken. Dit komt neer op 200 miljoen berichten per dag. Hierin leggen we de focus op de schaalbaarheid binnen dit project zodat we in de toekomst een veelvoud van berichten kunnen verwerken. Dit wordt mogelijk gemaakt met behulp

Bekijk vacature »

Full Stack .NET Developer - Utrecht

De vacature You’re a .NET, JavaScript and HTML fanatic. You have a lot of code-related knowledge and love to share it. You’re great in a team but also shine on your own. You’re passionate about working in project teams with an Agile approach. If you nodded “yes” to most of these statements, get in touch! We’d love to have you on board as our new full-stack developer. As a full-stack developer, you will be an active member on client project teams playing a hands-on role in producing client solutions. You will be encouraged to continue to develop your skills, share

Bekijk vacature »

Data Scientist / Python Developer

De vacature De afgelopen tijd hebben we met een aantal python ontwikkelaars hard gewerkt om een AI model op te zetten. Het is ons gelukt om op basis van winkelverkopen (kassadata) de verkopen van de komende dagen te voorspellen. En het werkt, we hebben een bewezen effectief systeem dat klaarstaat om uit te rollen in verschillende markten. Na de experimentele fase is het tijd om nu een robuust proces op te zetten waar we nieuwe datastromen en klanten op aan kunnen sluiten. Daarnaast werken we aan het continu verbeteren van het model, en zoeken we toepassingen in andere markten. Help

Bekijk vacature »

PLC Software programmeur voor sterkste kraan ter w

Bedrijfsomschrijving Deze unieke organisatie bestaat al meer dan 40 jaar en maakt on off a kind oplossingen voor onshore en offshore veiligheidoplossingen voor grote industrie machines of installaties. Ze kennen vier vestigingen over de wereld, maar jij hoeft alleen maar te werken op het kantoor in Den Bosch. De projecten zitten in markten zoals offshore en baggerwerken, havens en scheepswerven, spoorwegen, visserij, bouw en infra. Het bedrijf ontwikkelt een breed scala aan sensoren met innovatieve, in eigen huis ontwikkelde software en hardware voor op maat gemaakte veiligheid- en besturingoplossingen in veeleisende omgevingen. Een van de laatste projecten waar zij aan

Bekijk vacature »

Frontend Developer

De vacature As a Front-End Developer, it's your job to build awesome features for the best restaurants. You will be working closely with Design to create the finest user experience and treat our customers to a great experience every time they sign in. In case you were wondering: our apps use Angular, React and SASS, and our API's are written in .NET Core. We also work with the newest cloud solutions in Azure, like Cosmos DB, Azure Functions, SignalR, and Microsoft DevOps. Functie eisen You have 3+ years of experience in building beautiful software You are fluent in English and

Bekijk vacature »

Senior PHP Developer

De vacature Wij zijn wij Alles draait om onze klanten. Wij doen alles waardoor een MKB-er of ZZP-er online succesvol kan zijn. Internet, websites en e-mail kunnen best ingewikkeld zijn. Bij Pepperfield gaan we zelfs nog verder. Wij maken complete oplossingen met websites/webshops, betaaloplossingen, voorraadbeheer, backoffice-koppelingen, API’s en meer technologisch hoogstaande kunsten. Wij zorgen ervoor dat onze klanten dat allemaal met een glimlach geholpen worden. Wij nemen net een stap extra om een klant tevreden te houden. Wie wij zijn? Wij zijn Pepperfield. Een start-up die de hostingwereld op z'n kop gaat zetten. Wij zijn goed in webhosting, webdesign endevelopment.

Bekijk vacature »

Backend Developer

De vacature Your role entails being at the start of developing our globally distributed network of fan engagement products. You will work in a team of highly skilled engineers that work closely on our new micro-service oriented platform. Our platform is built upon technologies which are tailored to our use cases. Our main technologies are .NET 5, VueJS (NuxtJS), SQL/NoSQL and ElasticSearch. It would be a plus if you have experience with distributed systems and/or affinity with blockchain technology like Solidity. We scale our platform upon serverless, Kubernetes and edge computing solutions. Functie eisen You being ambitious and willing to

Bekijk vacature »

Full Stack Cloud & C# Developer - Amsterdam

De vacature Valtech is looking for a Full Stack Cloud Developer. Someone who loves working with the newest technologies and is on top of what’s next. Do you have a keen eye for performance, stability and traceability? Are you always seeking the highest quality in code? And aren't you scared away by maintaining and running your own applications on a day-to-day basis, being responsible for (infra-as-code) deployments and aligning with the cloud engineering team to get stuff done? Read on, because we have a match! What will you be doing? As our new Full Stack Cloud Developer, you build 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

09/12/2021 04:36:57
 
- 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.