GROUP BY geeft niet het juiste resultaat

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Systeembeheerder Windows

Systeembeheerder Windows Met een goede motivatie kan je veel bereiken maar aangevuld met de juiste certificaten bereik je nog meer. Daarom is ontwikkeling erg belangrijk en vooral . Bij T2 zorgen wij dat werkervaring en opleidingen hand in hand gaan en daar plukken wij samen de vruchten van. Onze samenwerking Een boost in je loopbaan dat is wat je van ons mag verwachten. Stilstaan is nooit een optie en dat geldt zeker in de IT. Als systeembeheerder kan je op dit moment overal werken dus is het belangrijk om een werkgever te kiezen die samen met jou energie wil steken

Bekijk vacature »

Functioneel Beheerder Orthopedietechniek

De Hoogstraat Orthopedietechniek zoekt per direct een Functioneel Beheerder Orthopedietechniek Utrecht, voor 24-32 uur per week De pluspunten Werken in een moderne, goed geoutilleerde omgeving Een functie met veel verantwoordelijkheid, maar ook veel vrijheid en zelfstandigheid De schakel zijn tussen gebruikers, administratie en management Wat ga je doen? Gebruiksbeheer: Verleent ondersteuning bij het gebruik van de informatiesystemen Handelt incidenten en klachten af (1e lijn), waar nodig met ondersteuning door de leveranciers van de systemen en/of de afdeling I&A van De Hoogstraat Revalidatie Rapporten opstellen en past gebruikersbeheer toe Verwerkt (ad hoc) verzoeken m.b.t. management-en stuurinformatie Wijzigingenbeheer: Inventariseert de informatiebehoeften van

Bekijk vacature »

Medior Outsystems Developer

Functieomschrijving Do you have over two years of Outsystems experience? Do you have programming experience in .NET and are you proactive and highly analytical? Don’t hesitate and apply! (Further)Development of a HR application; Maintenance of the HR application; Sharing/gaining knowledge with your Outsystems colleagues; Creating standards for Outsystems development. Functie-eisen HBO+ work and thinking level, and preferably in IT; Minimum of 2 years of OutSystems development experience; OutSystems professional Web Developer certification is a pré; A pro-active go-getter attitude. Bedrijfsomschrijving Our relation is an international organization situated around Amsterdam. They are well-known for their innovative services in IT area and

Bekijk vacature »

Fullstack PHP developer voor gerenommeerde organis

Functieomschrijving Voor de functie is het belangrijk dat jij goede kennis hebt van PHP en Laravel/Symfony en JavaScript. Ze zoeken dus iemand die al 5 jaar werkervaring heeft als developer. Je zult hier zowel op de Front- als Backend werkzaam zijn en samen met je collega's ben je verantwoordelijk voor de software. Wil jij jezelf verder uitdagen in een klein en sterk team? Dan ligt hier de kans om deze stap te zetten! Functie-eisen - Je hebt minimaal 5 jaar werkervaring als PHP developer; - Javascript, PHP en MySQL kennen geen geheimen voor jou; - Je hebt kennis van meerdere

Bekijk vacature »

.NET C# web developer gezocht met focus op gebruik

Ben je op zoek naar een baan binnen een klein softwarebedrijf? Een bedrijf met een informele, persoonlijke en familiaire sfeer? Waar je je als developer zowel richt op de back- als frontend? Wellicht dat deze vacature dan iets voor jou is. Voor een softwarebedrijf, gevestigd in het centrum van Rotterdam, zijn we momenteel op zoek naar .NET C# web developer. Dit mag iemand zijn die net van school komt, maar ook iemand die al behoorlijk wat ervaring heeft. Het bedrijf bestaat inmiddels ruim 10 jaar en en door de aanhoudende groei zijn ze opzoek naar versterking van 1 a 2

Bekijk vacature »

Senior Drupal Developer

My client is a digital agency based in (20 minutes outside of Eindhoven). Who are passionate about collaboration when it comes to Technology. This role will be focused on Drupal 8 with PHP, also this role will give you the opportunity to work with or learn React. Skills Required: 1 Experience working with Drupal. Versions 7 & 8. 2 A minimum of 3 years' experience working with both Drupal and PHP, understanding best practise. 3 Some experience working with JavaScript and MySQL. 4 You have a creative eye and like to think alongside the consumer. Skills Desired: 1 Experience with

Bekijk vacature »

Business Intelligence Developer vacature

Jij ben niet bang om hard te werken. Uitdagingen zijn welkom. En problemen? Die zijn er om opgelost te worden of, nog beter, om voorkomen te worden! Voor jij aan de slag gaat met het ontwerpen van BI- en DWH-oplossingen, leg je eerst je oor te luister bij de klant. Zo weet jij wat de klant wil, en hoe jouw ontwerp eruit moet komen te zien. Simpel! Althans… met jouw Developer-kwaliteiten wel! Over deze BI vacature Als Business Intelligence Developer ga je zowel op locatie bij de klant aan de slag, als op een van de Sogeti-locaties. Je analyseert de

Bekijk vacature »

.NET Developer Medicatie / Apotheek

Jij krijgt een kick van het ontwikkelen van complexe software. Voor onze vestiging in Heerenveen zoeken wij een .NET Developer Medicatie / Apotheek die graag met de laatste Microsoft-tools en -technieken wil werken. Interessant? Lees snel verder! Jouw baan Je bent verantwoordelijk voor het ontwerpen, ontwikkelen, ondersteunen en onderhouden van de module Medicatie / Logistiek & Apotheek. Je gaat nauw samen werken met zowel de interne als externe klant om nieuwe functionaliteiten te ontwikkelen om onze klanten te ondersteunen in hun werkproces. Het gaat om complexe ICT-producten die feilloos moeten functioneren binnen de complexe omgeving van een zorgorganisatie. ChipSoft maakt

Bekijk vacature »

Junior .Net Developer voor geautomatiseerde emailm

Onze klant is een Email Marketing Automation ontwikkelaar voor vele grote klanten in Nederland en België. Met hun marketingsoftware weten zij dagelijks miljoenen mensen te bereiken voor hun klanten. Als Junior .Net Developer van het jonge en informele Innovatie Team breng jij het platform naar een hoger niveau. Je bent hierbij als junior vanaf dag 1 volledig betrokken bij het team. Je bent betrokken de volledige software development life cycle en gaat dan ook mee naar de grote klanten. Terwijl je wordt ingewerkt en dagelijks spart met je 15 gezellige collega’s, werk je aan zowel de front-end als back-end van

Bekijk vacature »

Java Developer / Java EE frameworks / Inhouse (Clo

Functieomschrijving Ben jij een Java Developer met een zeer uitgebreide kennis van REST API's en wil jij graag werken aan uitdagende Inhouse projecten voor grote en bekende partijen in Nederland? Dan is dit de rol waarnaar jij op zoek bent! Binnen deze rol zal jij je als Java Developer aan de slag gaan voor een van de meest bekende bureaus op het gebied online platformen, een rol met veel afwisseling en voldoende technische uitdaging! Werken aan diverse en uiteenlopende projecten, waarbij je meer dan eens pionierswerk zal moeten verrichten; De mogelijkheden tot het toepassen van nieuwe technieken bespreken, beoordelen en

Bekijk vacature »

Senior C#.Net / Ontwikkelaar / Developer / Softwar

Functieomschrijving C#.Net / Ontwikkelaar / Developer / Software Engineer Ontwerpen van nieuwe applicaties; Herschrijven van bestaande applicaties; Meedraaien in uitdagende projecten; Code reviewen; Communiceren met de business. Functie-eisen Afgeronde HBO opleiding richting Informatica of vergelijkbaar; Minimaal 8 jaar ervaring als Fullstack Software Engineer; Ervaring met C#.Net en SQL server zijn een eis; Je hebt ervaring met het werken in een Scrum / Agile omgeving; Ervaring in het coachen van collega's; Heb je al kennis van Micrsoft Azure, dan is dit een belangrijke pré; Kennis van ASP .NET, MVC, Rest, Xamarin, XML/JSON en HTML5/CSS3 zijn mooi meegenomen. Bedrijfsomschrijving Deze organisatie is

Bekijk vacature »

Traineeship Pega Developer DICTU & BPM Company

Heb je een ICT gerelateerde HBO/ WO opleiding afgerond, interesse in Business Process Management, vind je persoonlijke ontwikkeling belangrijk en wil je maatschappelijk bezig zijn? Dan is het Traineeship tot Pega Developer van DICTU en BPM Company iets voor jou! Met een opleidingsprogramma en begeleiding op maat –zowel vanuit DICTU als BPM Company- zorgen we ervoor dat jij je optimaal kan ontwikkelen. De eerste 2 maanden ben je bezig met het behalen van je Pega certificeringen (Certified System Architect (CSA) en Certified Senior System Architect (CSSA)). Hierin zal je door BPM Company worden begeleid. Daarna ga je deel uitmaken van

Bekijk vacature »

Noordoost Java Developer vacature

Java Developer Noordoost Word onderdeel van een topteam met ervaren Java Developers. Loop voorop in de ontwikkelingen en help mee innoveren. Focus op Java Wij bouwen State of the Art applicaties met de nieuwste Java technologie en frameworks. Dit doen we door ons te richten op de open source-oplossingen binnen de wereld van Java, alle nieuwe ontwikkelingen te volgen en onze kennis te delen binnen onze eigen Java Community. Dit betekent bijvoorbeeld dat we aanwezig zijn op veel conferenties; Oracle Code One, Devoxx en JFall. We organiseren ook onze eigen collegiale sessies en hackatons waar we kennis en plezier combineren.

Bekijk vacature »

Front-End Developer / JavaScript / AngularJS / Fin

Functieomschrijving Are you an enthusiastic Front-End Developer? Do you want to work with JavaScript & frameworks like AngularJS and be part of a future migration to Vue.js? Do you have a focus on delivering high quality code that is scalable, readable and clean? If your answers are yes, than this might be your new job! The client designs and develops the next generation of applications. As a Front-End Developer you are, with your team, responsible to speed up and strengthen the digital transformation by designing, implementing and supporting the internet banking applications with main focus on payments solutions. Your focus

Bekijk vacature »

.NET Developer

.NET Developer De uitgebreide versie Jij hebt ruim twee jaar ervaring als developer. Nu wil je graag je tanden zetten in nog complexere projecten. Samen met je team bereik je nieuwe hoogtes en zelfstandig maak je meters. Je hebt behoefte aan collegae die jou alles leren op het gebied van technologie maar wilt tegelijkertijd ook graag je eigen opgedane kennis delen. Alles wat vandaag nog onbekend is, moet je morgen toepassen in de volgende uitdaging en dàt is wat jou scherp houdt. Je hebt geen zin in een 60-urige werkweek maar haalt wel plezier uit zo nu en dan een

Bekijk vacature »
Bryan De Baar

Bryan De Baar

08/02/2020 22:43:47
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
teams
+--+------+
|ID| TEAM |
|1 |Yellow|
|2 |Green |
|3 |Blue  |
|4 |Red   |
+--+------+

Players
+--+------+
|ID| NAME |
|1 |Ben   |
|2 |Mike  |
|3 |Jason |
+--+------+

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


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
<?php
$sql
    = "    SELECT teams.id teamsid, teams.team teamname, lineups.tid, players.name
            FROM teams
            LEFT JOIN lineups ON lineups.tid = teams.id
            AND lineups.pid = 2
            LEFT JOIN players ON lineups.pid = players.id
            GROUP BY players.name
            ORDER BY team
          "
;
$result = mysqli_query($connection, $sql);

while($row = mysqli_fetch_assoc($result)){
    echo $row['name'];
    $checked = ($row['tid'] === NULL ? '' : ' checked="checked"');
?>

<label>
    <input type="checkbox" <?php echo $checked; ?>><?php echo $row['teamname']; ?>
</label><?php
}
?>

De voorlaatste regel in de query GROUP BY players.name zorgt ervoor dat de data niet word weergegeven zoals ik zou willen.
Zonder deze regel zou het resultaat zijn
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<label><input type="checkbox">Blauw</label>
<label><input type="checkbox">Geel</label>
"Ben"
<label><input type="checkbox" checked="checked">Groen</label>
"Ben"
<label><input type="checkbox" checked="checked">Rood</label>


Maar ik wil de player naam 1 keer laten voorkomen in het resultaat, ik dacht dan gebruik ik GROUP BY maar dit levert als resultaat op
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<label><input type="checkbox">Geel</label>
"Ben"
<label><input type="checkbox" checked="checked">Rood</label>


Het resultaat dat ik graag zou willen is
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
"Ben"
<label><input type="checkbox">Blauw</label>
<label><input type="checkbox">Geel</label>
<label><input type="checkbox" checked="checked">Groen</label>
<label><input type="checkbox" checked="checked">Rood</label>


Wat moet ik aanpassen hiervoor?
Gewijzigd op 08/02/2020 22:44:29 door Bryan De Baar
 
PHP hulp

PHP hulp

20/02/2020 14:20:41
 
Thomas van den Heuvel

Thomas van den Heuvel

09/02/2020 00:45:31
Quote Anchor link
Wat wil je in dit overzicht precies bereiken?
Is dit een pagina die aangeeft in welk team een (specifieke) speler opgesteld kan staan?
Je hebt sowieso een rare (?) conditie: AND lineups.pid = 2? Klopt dat?

En was dit hele gebeuren al niet behandeld / opgelost in een ander draadje? Is het echt gerechtvaardigd om hier een nieuw topic over te openen want gaat dit niet over precies hetzelfde?
 
Bryan De Baar

Bryan De Baar

09/02/2020 01:45:33
Quote Anchor link
Hey Thomas,

Klopt in een ander topic hebben we de left join behandeld dit ging inderdaad om het uitlezen van de database en dan checked checkboxes in welk team een player zit.
Aangezien dit iets anders betreft heb ik een nieuw topic geopend wellis waar met het zelfde voorbeeld.

De tabel teams moet altijd volledig worden teruggeven zit de speler in bepaalde teams dan moeten deze checkboxes aangevinkt zijn.
Dit stukje hebben we dus behandeld maar nu wil ik nog de naam van de speler terug krijgen maar wel maar een keer, vandaar dat ik GROUP BY heb geprobeerd.
Maar dan krijg ik het verkeerde resultaat zoals bovenstaand uitgelegd.
 
Jop B

Jop B

09/02/2020 17:11:29
Quote Anchor link
Hi Bryan,


Ik denk dat je voor die naam een aparte query moet maken.
Je query kan trouwens ook nog korter:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
    SELECT id, team, tid
    FROM teams
    LEFT JOIN lineups ON teams.id = lineups.tid
    AND lineups.pid = 2
    ORDER BY team


Maak dan een query alleen op de players tabel met al ID = 2 als je dan een variable maakt en die laat invullen bij de player ID en de TID dan krijg je zowel de naam terug als je checkboxes.

dan krijg je 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
14
15
16
17
18
19
20
21
22
23
24
<?php
$theid
= 2;

$sql1 = "
SELECT id, team, tid
FROM teams
LEFT JOIN lineups ON teams.id = lineups.tid
AND lineups.pid = $theid
ORDER BY team
"
;

$result1 = mysqli_query($connection, $sql1);

$sql2 = "
SELECT name
FROM players
WHERE id = $theid
"
;

$result1 = mysqli_query($connection, $sql2);

//En hier je loopjes...
?>

Gewijzigd op 09/02/2020 17:12:23 door Jop B
 
Thomas van den Heuvel

Thomas van den Heuvel

09/02/2020 22:13:40
Quote Anchor link
Dus je wilt van alle teams alle spelers? Zou het niet logischer zijn om een pagina te maken voor een enkel team, en hierop alle spelers te tonen? Dit kan wederom in een enkele query, op precies dezelfde manier als in het andere topic, maar nu met de spelerstabel als uitgangspunt.

Ik zou dus verwachten dat je enerzijds een soort van overzichtspagina van teams hebt, en als je op een team klikt, dat je een detailpagina te zien krijgt van het betreffende team met een lijstje van alle spelers, en de spelers die in de opstelling van het team staan zijn aangevinkt. Maar dit laatste kan dus met een enkele query.
Gewijzigd op 09/02/2020 22:51:10 door Thomas van den Heuvel
 
Bryan De Baar

Bryan De Baar

10/02/2020 00:41:45
Quote Anchor link
Dank Jop voor het meedenken!

Thomas:

Als ik de details van Ben wil tonen dan wil ik de naam Ben 1 keer tonen.
Daarnaast moeten alle teams worden geladen (dit zijn checkboxes) en waar ben in voorkomt die moeten zijn aangevinkt.

De query voor de checkboxes hebben we in de andere topic behandeld maar ik krijg de naam Ben niet enkel terug.
Hij doet de naam of 2 keer teruggeven omdat hij in 2 teams voorkomt, en als ik dan de naam groepeer krijg ik van de teams alleen geel en rood terug.
 
Thomas van den Heuvel

Thomas van den Heuvel

10/02/2020 15:40:30
Quote Anchor link
Maar wat is het precieze doel van de pagina dan?

Als je echt alles wilt tonen - alle teams met alle lineups (of per speler tot welk team zij behoren?) - dan lees je toch gewoon alles uit in een of meer queries en bouw je in PHP wat kleine datastructuren (in arrays)?

Maar als ik het goed begrijp is dit dus een soort van bewerkpagina. Wil je echt alle data tegelijkertijd kunnen wijzigen? Dit wordt al snel een onoverzichtelijke brei, zo niet visueel dan wel in code?

Ik zou voor een wat simpelere indeling gaan, waarbij je bijvoorbeeld ofwel alle data van een (enkele) speler wijzigt, een (enkel) team of wat dan ook. Het compartimenteren van informatie werkt doorgaans makkelijker.

Uiteraard kun je wel (totaal)overzichten uitdraaien met al deze informatie, maar die zijn dan "read only".

Ook is het handig om hier eerst "functioneel" over na te denken - wat wil je precies bereiken met zo'n pagina. Dan heb je namelijk ook een beter beeld van wat je gaat maken.

Het bovenstaande voorbeeld klopt ook niet? Je zegt dat je het groene en rode team aangevinkt wilt hebben, maar er is geen enkele speler (in jouw dataset) die in beide lineups staat? Speler 2 (Mike) is onderdeel van team geel (1) en rood (4).

Vandaar ook mijn verwarring - je hebt het over een pagina waarin alle teams getoond zouden moeten worden, maar in de query staat een verwijzing naar een specifieke speler (AND lineups.pid = 2). Dat rijmt niet helemaal? Of wil je één overzicht waarbij alle spelers per teams aangevinkt staan? Dus nogmaals: hoe zou de indeling van deze pagina moeten zijn, en lijkt het je echt een goed idee om zo alles bij elkaar te gooien?
 
Jop B

Jop B

10/02/2020 16:50:11
Quote Anchor link
Ik denk dat hij bedoeld:

Hi Thomas,

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
Naam: Mike

Opgesteld in groep(en):
<label><input type="checkbox">Blauw</label>
<label><input type="checkbox">Geel</label>
<label><input type="checkbox" checked="checked">Groen</label>
<label><input type="checkbox" checked="checked">Rood</label>
Gewijzigd op 10/02/2020 17:30:45 door Jop B
 
Thomas van den Heuvel

Thomas van den Heuvel

10/02/2020 17:35:03
Quote Anchor link
@Jop ja maar dat precieze vraagstuk is al in de eerdergenoemde thread behandeld, dus ik ga er daarom vanuit dat het hier een andere indeling betreft.
 
Jop B

Jop B

10/02/2020 18:09:17
Quote Anchor link
Quote:
De query voor de checkboxes hebben we in de andere topic behandeld maar ik krijg de naam Ben niet enkel terug.


Wat ik opmaak uit zijn vraag hier is dat als hij de naam van de speler (player) toevoegt aan zijn bestaande query dat deze dan 2x voorkomt in het resultaat als we uitgaan van id: 2 = Mike

Daarom heb ik bovenstaand voorbeeld gegeven om 2 aparte queries te maken: 1 voor de naam en 1 voor de teams met checkboxes.

In zijn eerste bericht geeft hij als voorbeeld dit aan als resultaat te willen ontvangen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
1maal de naam //vraagstelling in dit topic
"Mike"

en de checkboxes van de teams //ander topic behandeld
<label><input type="checkbox">Blauw</label>
<label><input type="checkbox">Geel</label>
<label><input type="checkbox" checked="checked">Groen</label>
<label><input type="checkbox" checked="checked">Rood</label>


Dan kan ie toch het beste 2 queries maken of ben ik dan fout het denken?
 
Thomas van den Heuvel

Thomas van den Heuvel

10/02/2020 19:08:10
Quote Anchor link
Mja, je kunt altijd dingen opsplitsen in meerdere queries als dat praktischer is. Het is niet het einde van de wereld als je wat meer simpele queries hebt. In dit geval - als je een soort van totaaloverzicht wilt - dan kun je ook wat arraytjes bouwen:
- een array met speler info id => data
- een array met team info id => data
- een koppelarray met een "mapping" speler => team of vice versa

Hiermee ontkoppel je ook wat logica van de weergave en is het daar enkel een kwestie van het uitvoeren van loopjes over zo'n array, en dat je checkboxen aanvinkt door te controleren of een array index/waarde bestaat.

Hoe je dat verder precies uit je database trekt maakt dan ook geen biet meer uit, dus als het eenmaal in dat soort arrays zit kun je altijd nog over de optimalisatie van je queries nadenken zonder dat dat van invloed is op de weergave, en kun je dit in afzondering aanpassen, zolang dit maar dezelfde arrays oplevert. Zoals vanouds: verdeel en heers.
Gewijzigd op 10/02/2020 19:09:56 door Thomas van den Heuvel
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

14/02/2020 18:31:07
Quote Anchor link
Bryan De Baar op 08/02/2020 22:43:47:
De voorlaatste regel in de query GROUP BY players.name zorgt ervoor dat de data niet word weergegeven zoals ik zou willen.

Dat klopt, de SQL-standaard stelt dat alle kolommen die niet in een aggregate functie staan moeten worden vermeld in de GROUP BY, tenzij ze volledig afhankelijk zijn van een kolom die er wel in voorkomt. In MySQL heb je de FULL_GROUP_BY flag waarmee je dit aan of uit kan zetten.
Bryan De Baar op 08/02/2020 22:43:47:
Maar ik wil de player naam 1 keer laten voorkomen in het resultaat, ik dacht dan gebruik ik GROUP BY maar dit levert als resultaat op
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<label><input type="checkbox">Geel</label>
"Ben"
<label><input type="checkbox" checked="checked">Rood</label>


Het resultaat dat ik graag zou willen is
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
"Ben"
<label><input type="checkbox">Blauw</label>
<label><input type="checkbox">Geel</label>
<label><input type="checkbox" checked="checked">Groen</label>
<label><input type="checkbox" checked="checked">Rood</label>

Wat moet ik aanpassen hiervoor?

Dat de naam meerdere keren voorkomt in het resultaat is inherent aan MySQL, dit is zonder ingrepen niet te veranderen, het simpelste is om dit in php af te vangen:
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
<?php
$result
= mysqli_query($connection, $sql);
$flag = 0;
while($row = mysqli_fetch_assoc($result)){
        if (!$flag) {
        echo $row['name'];
        $flag = 1;
    }

        $checked = ($row['tid'] === NULL ? '' : ' checked="checked"');
    
?>

<label>
    <input type="checkbox" <?php echo $checked; ?>><?php echo $row['teamname']; ?>
</label><?php
}
?>

Dan over de query zelf, in deze situatie lijkt het mij handiger een CROSS JOIN te gebruiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
SELECT p.player_name, t.team_name, l.player_id
FROM players p
CROSS JOIN teams t
LEFT JOIN lineups l ON l.player_id = p.player_id AND l.team_id = t.team_id
WHERE p.player_id = 2

De CROSS JOIN geeft je alle mogelijke combinaties van teams / spelers, dit heeft als voordeel dat je dit kan gebruiken voor de benadering van zowel spelers en teams. Plus dat het ook werkt voor meerdere spelers en/of team (dit in tegenstelling met de oplossing via de LEFT JOIN)
 



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.