Ik loop vast met opzoeken gegevens

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Jan R

Jan R

23/07/2023 09:05:50
Quote Anchor link
Hi

Ik ben bezig met mijn competitieprogramma uit te breiden naar meerdere ronden tot (voorbeeld) 10 maal iedereen tegen iedereen. Vroeger 1 of 2 keer.

Ik loop vast in het zoeken naar de her-programmatie van de partijen. Dit is vergelijkbaar met uitgestelde matchen in andere sporten zoals voetbal en basketbal. Verschil is dus niet 1 maal tegen iedereen, 1 X thuis en 1 X op verplaatsing maar tot 5 X thuis en verplaatsing.

Probleem is dus dat ik partij speler X tegen speler Y ook 5 X kan tegenkomen en dus ook 5 X moet gepland worden.
Zodra de planning is gebeurd krijg ik de gegevens terug van de 5 planningen op de 5 verschillende dagen.
Ik kan niet verwijzen naar de partij op zich want deze zijn nog niet gespeeld en hebben dus geen partij_id

Iemand een idee om dit op te lossen? Alle ideeën zijn goed. Ik kan velden/tabellen bijmaken indien nodig

Hier de query's
Ophalen speeldagen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
select
    id,
    DATE_FORMAT(datum, "%d/%m/%Y") as datumfmt,
    datum,
    naam
from
    TR2__volgenderondeinfo
where
    (id_toernooi=' . $ACTIEFTOERNOOI->ID . ')'

Ophalen geplande partijen
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
28
29
30
31
SELECT
    r.id,
    concat(s1.voornaam," ",s1.naam) wit,
    s1.id wit_id,
    s2.id zwart_id,
    concat(s2.voornaam," ",s2.naam) zwart,
    (COALESCE((select uitslag from TR2__partijen    p2 where speler1=s1.id and speler2=s2.id and p2.ronde=p1.ronde) , "")) uitslag,
    (COALESCE((select uitsteller from TR2__partijen p2 where speler1=s1.id and speler2=s2.id and p2.ronde=p1.ronde), "")) uitsteller,
    COALESCE(o.opmerking, "") opmerking,
    p1.datum,
    p1.ronde
FROM
    TR2__spelers s1
JOIN
    TR2__spelers s2
LEFT JOIN
    TR2__volgenderonde r
    ON s1.id = r.speler1
    AND s2.id = r.speler2
left join
    TR2__volgenderondeinfo_opmerkingen o
    on o.volgenderondeinfo_id = r.id
left JOIN
    TR2__partijen p1
    on p1.speler1=r.speler1 and p1.speler2=r.speler2
where
    r.ronde=' . $rij['id'] . ' AND #id volgens volgenderondeinfo
    true
order by
    wit,
    zwart;


Jan
 
PHP hulp

PHP hulp

29/04/2024 16:59:51
 
Ward van der Put
Moderator

Ward van der Put

23/07/2023 10:17:29
Quote Anchor link
Jan R op 23/07/2023 09:05:50:
Ik kan niet verwijzen naar de partij op zich want deze zijn nog niet gespeeld en hebben dus geen partij_id

Die "dus" is geen vanzelfsprekendheid, maar een beperking die je jezelf hebt opgelegd.

Kun je bijvoorbeeld een tijdelijke ID introduceren die je UPDATE nadat de partij is gespeeld?
 
Jan R

Jan R

23/07/2023 10:47:53
Quote Anchor link
Ward van der Put op 23/07/2023 10:17:29:
Kun je bijvoorbeeld een tijdelijke ID introduceren die je UPDATE nadat de partij is gespeeld?

En hoe zie je dat?

Ik heb zelf al gedacht om ALLE partijen in te brengen bij het maken van het toernooi maar gezien het aantal spelers niet altijd vast ligt is dit bijna onmogelijk of moet volledig herrekend worden bij het wijzigen van de volgorde van de spelers en bij toevoegen verwijderen van spelers.

Overkill :)
 
Ivo P

Ivo P

24/07/2023 09:27:25
Quote Anchor link
FROM
TR2__spelers s1
JOIN
TR2__spelers s2

weet je zeker dat hier geen ON achter moet?
 
Jan R

Jan R

24/07/2023 10:03:12
Quote Anchor link
Nee het is een "cross join". Zoals vermeld iedereen tegen iedereen.
 



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.