Klassement 'beste twintig' veranderen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software developer (PHP) - Utrecht centrum

Functie Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten. Het team bestaat uit 4 developers, een klein team dus met korte lijnen. Alles in intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. In het team streven ze naast de hoogst haalbare kwaliteit. Hiervoor werken ze nauw met elkaar samen en levert

Bekijk vacature »

Senior PHP developer met ambities tot Software Arc

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

Front end developer

Functie Qua type opdrachten is er echt een verscheidenheid aan afnemers, zo werken ze met grote multinationals, maar ook met startups. Zo kom je te werken in een gevarieerde omgeving en kan je ook schakelen tussen verschillende culturen. De projecten variëren van greenfield projecten tot langdurige ontwikkeltrajecten. Hier wordt alleen maar gewerkt met aan front end projecten. Daarom maakt het onze partner niet uit waar jij kennis van hebt, als je maar gedegen kennis hebt van Javascript frameworks, Unit testing en ook bekend bent met de scrum methodiek. Eisen Minimaal 4 jaar relevante werkervaring Kennen en ervaring van Javascript frameworks

Bekijk vacature »

Machine Software Developer

Bij een bedrijf in de machinebouw, regio Roosendaal, zijn we op zoek naar een: Machine Software Developer Waar ga je werken? Onze opdrachtgever is gespecialiseerd in de grondverzetmachines. Al meer dan 50 jaar leveren ze zowel nationaal als internationaal diverse machines. Het is een familiebedrijf met een informele werksfeer. Wat ga je doen? Als Machine Software Developer ben je verantwoordelijk voor: - Je ontwerpt, ontwikkelt en debugt software voor machinebesturingssystemen en complexe landbouwmachines; - Je stelt gebruikersinterfaces op (cabinedisplays); - Op termijn ga je softwareprojecten leiden voor specifieke machines; - Inclusief planning, documentatie en validatie; - Om specificaties te verifiëren

Bekijk vacature »

Backend Developer Scrummaster .NET

Samengevat: Deze werkgever is een ambitieus internetbedrijf met een passie voor digitale communicatie. Ben jij geschikt als Backend Developer? Heb je ervaring met .NET platform? Vaste baan: Backend Developer / SCRUM Master Scrum HBO WO €3.800 - €6.000 Deze werkgever is een innovatief bedrijf met enthousiaste mensen die jarenlang ervaring hebben met het ontwikkelen internet- en intranetoplossingen. Wij houden van korte lijnen en open en eerlijke communicatie. Wij zetten graag onze jarenlange ervaring in om perfect werkende oplossingen te ontwikkelen. Wij ondersteunen dienstverlenende organisaties bij het ontwikkelen en realiseren van een effectief, adaptief communicatieplatform. Je ontwikkelt met ons de meest

Bekijk vacature »

Technisch Applicatie ontwikkelaar

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! In deze functie werk jij voornamelijk aan: Het onderhouden en ontwikkelen van de IT systemen; Het opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werk je aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkel en implementeren je MS PowerApps en Power BI. Bedrijfsprofiel Je komt terecht bij een familiair

Bekijk vacature »

Back-end Developer Java

Dit ga je doen Het (door)ontwikkelen van een zelfgebouwde applicatie in Java, Spring Framework, SQL, HTML, CSS en Javascript; End-to-end beheer m.b.t. de applicatie en koppelen van applicaties binnen het landschap; Ontwikkelen van rapportages voor de interne organisatie; Ontwikkelen van aanvullende functionaliteiten m.b.t. de applicatie; Uitvoeren van testen en code reviews. Hier ga je werken Binnen deze organisatie kom je te werken op de afdeling die medische gegevens verzamelt vanuit het hele land. Denk hierbij aan vertrouwelijke persoonsgegevens. Het team verwerkt al deze data met als doel het waarborgen en verbeteren van de kwaliteit van de zorg in heel Nederland.

Bekijk vacature »

Senior Node.js developer Digital Agency

Functie Door de groei van de organisatie zijn ze op zoek naar een Tech Lead. Als tech lead ben jij verantwoordelijk Als Back end Node.js developer kom je terecht in een van de 8 multidisciplinaire teams in het projectenhuis. Afhankelijk van jouw interesses, wensen en capaciteiten word je bij projecten en onderwerpen naar keuze betrokken. Als ervaren ontwikkelaar zul jij vaak leiding nemen in de projecten en in het team een aanvoerder zijn van technische discussies. Uiteindelijk wil jij natuurlijk de klantwensen zo goed mogelijk vertalen naar robuuste code. De projecten kunnen varieren van langlopende- tot kleinschalige trajecten. Voorheen werkte

Bekijk vacature »

Back-end developer

Dit ga je doen Development d.m.v. XQuery, JSON/XML en REST API's; Ontwikkelen aan een tof en complex zorgplatform; Koppelingen maken met de NoSQL database; Testen en documenteren van de ontwikkelde functionaliteiten; Samenwerking met andere front- en back-end ontwikkelaars. Hier ga je werken Voor een vooruitstrevende organisatie binnen de zorg in Den Haag zijn wij opzoek naar een Back-end Developer die ervaring heeft met o.a.XQuery en Vue.JS of daarin graag zou willen ontwikkelen. Je zal ontwikkelen aan een tof en complex zorgplatform en koppelingen maken met de NoSQL database. Ook het testen en documenteren van de ontwikkelde functionaliteiten behoort tot jouw

Bekijk vacature »

Junior Back end developer PHP, Symfony

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

Bekijk vacature »

Full Stack PHP Developer

Functieomschrijving Ervaren PHP Developer gezocht! Wij zijn op zoek naar een ervaren PHP Developer die het IT team van een organisatie in de regio Ermelo gaat versterken. Voor deze functie zijn we op zoek naar een enthousiaste en breed georiënteerde IT-er die deze innovatieve organisatie nog een stap verder gaat brengen. Wij zijn op zoek naar iemand die communicatief goed is en die zelfstandig problemen op kan lossen. Je bent verantwoordelijk voor het samenwerken met een externe partij het is hierbij jouw taak om deze partij uit te dagen op het geleverde werk. Het schrijven van concepten aan de AI

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 »

Medior PHP Developer

Functie omschrijving Ben jij een getalenteerde PHP Developer en aan de slag in een gemotiveerd team? Lees dan snel verder! Voor onze opdrachtgever in de omgeving van Valkenswaard zijn we op zoek naar een ervaren PHP developer. Jij gaat hier zorg dragen voor het optimaliseren en up-to-date houden van de bestaande applicaties. Je werkt verder aan de applicaties die jij verder ontwikkelt. Dit doe je voornamelijk met PHP en MySQL. Verder ga je je bezig houden met: Het uitbouwen van het E-commerce software platform. Deelnemen aan overleggen met het team. Het ondersteunen van jouw team developers (3 man) en helpen

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Wil jij bij een platte en informele organisatie werken? Lees dan snel verder! Voor een opdrachtgever in omgeving Rotterdam dat zich gespecialiseerd heeft in het realiseren van veilige netwerkverbindingen zijn wij op zoek naar een leuke software developer ter versterking van het huidige team. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen PHP, JAVA en Node.js. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn

Bekijk vacature »

Senior Product Developer

Functieomschrijving Als senior Product Developer ben je verantwoordelijk voor bestaande mobiliteitsproducten en de ontwikkeling van nieuwe mobiliteitsconcepten. Met behulp van diverse klantonderzoeken, klantsessies en salesmeetings zorg je ervoor dat je de veranderende mobiliteitsbehoeften in de markt kent. Hier speel je op in door innovatieve, flexibele, efficiënte en duurzame vervoersoplossingen te bedenken, te ontwikkelen, te implementeren en uiteindelijk samen met Sales en Marketing collega’s in de markt te zetten. Je initieert en neemt deel aan (internationale en afdeling overschrijdende) projecten, vaak in de rol van projectleider. In die rol bewaak je de voortgang, coördineer je de activiteiten en zorg je voor

Bekijk vacature »
Martin Rep

Martin Rep

16/08/2015 08:31:45
Quote Anchor link
Hai!

Voor het klassement van mijn mahjongclubje heb ik een algemeen klassement bedacht waarbij de beste 20 resultaten van iedere speler tellen.
In het bestand functions.php is dat als volgt gedefinieerd:

function standmetscoresmetid($id) {
// Get database connection
$db = JFactory::getDbo();

$qry = "SELECT SpelerID, SpelerNaam, Average, Aantal, Hoogste, Laagste "
. "FROM vwStand "
. "WHERE SeizoenID = " . $db->quote($id). " AND AANTAL<>0 ORDER BY Average DESC;";

$db->setQuery($qry);
$db->query();
$result=$db->loadRowList();

$tbl = new HTML_Table(null, 'display', 1, 0, 4, array('width'=>'100%'));

}

Maar deze methode bevalt me niet meer zo goed. Ik zou ook de "slechtste" resultaten willen laten
meetellen. Bijvoorbeeld de beste 10 en de slechtste 10, en daar dan het gemiddelde van.
Maar ik heb geen idee hoe ik de 'slechtste 10' moet definiëren.
Iemand een hint?? Alvast bedankt!
 
PHP hulp

PHP hulp

26/05/2026 10:11:21
 
Eddy E

Eddy E

16/08/2015 17:18:48
Quote Anchor link
Haal het stukje AND AANTAL <>0 eens weg...
Maar ik neem aan dat je de resultaten (of zelfs het aantal resultaten) niet bijhoudt in de rij bij de gebruiker... maar die gewoon elke keer opnieuw berekent/bekijkt in de tabel met resultaten...
 
Martin Rep

Martin Rep

16/08/2015 18:41:39
Quote Anchor link
Eddy E op 16/08/2015 17:18:48:
Maar ik neem aan dat je de resultaten (of zelfs het aantal resultaten) niet bijhoudt in de rij bij de gebruiker... maar die gewoon elke keer opnieuw berekent/bekijkt in de tabel met resultaten...


Ja, dat klopt. (Het nadeel is ook dat het openen van de html-pagina waarop het klassement staat, langt duurt
omdat alle resultaten opnieuw geëvalueerd moeten worden.)
Gewijzigd op 16/08/2015 18:42:17 door Martin Rep
 
Frank Nietbelangrijk

Frank Nietbelangrijk

16/08/2015 19:01:09
Quote Anchor link
Uhm je database indeling aub? (dus welke tabellen heb je en welke kolommen zitten er in de tabellen)
 
Martin Rep

Martin Rep

16/08/2015 21:52:37
Quote Anchor link
Eh… hier val ik een beetje door de mand als php-nitwit.
Je kunt de html-tabel hier 'live' zien, help dat?

http://www.furiten.nl/klassement1516.html

(deze tabel heeft het bovengemelde probleem nog nauwelijks; op
dit moment is er slechts één speler die 20+ wedstrijden heeft
gespeeld)
Gewijzigd op 16/08/2015 21:59:12 door Martin Rep
 
Martin Rep

Martin Rep

17/08/2015 23:17:17
Quote Anchor link
…ik kom hier niet verder, zie ik. Ik zal het eens proberen op het Engelstalige PHP-forum. Toch
bedankt!
 
Marthijn Buijs

Marthijn Buijs

18/08/2015 07:34:42
Quote Anchor link
Hoezo? Op dit forum zijn er mensen genoeg die jouw kunnen helpen..
 
Martin Rep

Martin Rep

18/08/2015 07:38:42
Quote Anchor link
Daar had ik op gehoopt, Maarten, maar tot nu toe kom ik er niet uit. Maar de hint is duidelijk: ik geef het nog niet op! Misschien meer geduld nodig… ;-)
 
Frank Nietbelangrijk

Frank Nietbelangrijk

18/08/2015 08:06:14
Quote Anchor link
Het handigste lijkt mij als je een extra kolom 'average_score' toevoegt. En dan heb je enkel eenmalig een goede functie / formule nodig die de hoogte van de 'gemiddelde score' berekent. De uitkomst schrijf je weg in dit veld en vervolgens hoef je alleen maar

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
SELECT SpelerID, SpelerNaam, Average, Aantal, Hoogste, Laagste
FROM vwStand
WHERE SeizoenID = 5
ORDER BY average_score DESC
LIMIT 20


te doen.
 
Martin Rep

Martin Rep

18/08/2015 10:38:48
Quote Anchor link
Dit komt in de goede richting, Frank! Maar op deze manier krijg je toch niet het gemiddelde van de beste 20 en de slechtste 20 partijen (van een speler
die bijvoorbeeld al 100 partijen heeft gespeeld (van wie in het door mij bedoelde model dus 60 partijen niet worden meegenomen in het gemiddelde).

Dank!
 
Jacco Engel

Jacco Engel

18/08/2015 11:25:07
Quote Anchor link
Tijd om het over een andere boeg te gooien dan :P

Kun je iets met deze denkrichting mischien?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT ((high.hoogste + low.laagste) / 20) as average FROM
    (SELECT SUM(Average) as hoogste FROM vwStand order by Average DESC limit 10) as high,
    (SELECT SUM(Average) as laagste FROM vwStand order by Average ASC limit 10) as low
;

Dit zou volgens mij het gemiddelde van de hoogste en laagste 10 gemiddelden moeten geven, maar bind me er niet op vast.

Denk dat dit meer de richting is waar je in moet denken als je het allemaal in SQL wil doen.
 
Martin Rep

Martin Rep

18/08/2015 11:46:12
Quote Anchor link
Hier kan ik wel wat mee ;-)
Ik ga ermee aan de slag en meld me weer als ik meer weet.

Dank (^^)
 
Jan de Laet

Jan de Laet

18/08/2015 12:41:10
Quote Anchor link
Maar wat krijg je dan als resultaat als er minder dan 20 resultaten zijn?
De hoogste 10 en de laagste 10 overlappen dan.
Gewijzigd op 18/08/2015 12:42:16 door Jan de Laet
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

19/08/2015 11:45:00
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
SELECT
    s.SpelerID,
    s.SpelerNaam,
    s.Aantal,
    AVG(CASE
            WHEN r.rijnummer <= 10 THEN r.score
            ELSE
                CASE
                    WHEN r.rijnummer > 10 AND r.rijnummer > s.Aantal - 10 THEN r.score
                    ELSE NULL END
        END) gemiddelde,
    MAX(CASE
            WHEN r.rijnummer <= 10 THEN r.score
            ELSE
                CASE
                    WHEN r.rijnummer > 10 AND r.rijnummer > s.Aantal - 10 THEN r.score
                    ELSE NULL END
        END) hoogste,
    MIN(CASE
            WHEN r.rijnummer <= 10 THEN r.score
            ELSE
                CASE
                    WHEN r.rijnummer > 10 AND r.rijnummer > s.Aantal - 10 THEN r.score
                    ELSE NULL END
        END) laagste
FROM
    (
    SELECT
        d.SpelerID,
        d.SpelerNaam,
        COUNT(*) Aantal
    FROM
        deelnemers d
    JOIN
        resultaten r1
        ON d.SpelerID = r1.SpelerID
    WHERE r1.SeizoenID = 5
    GROUP BY d.SpelerID
    ) s
JOIN
    (
    SELECT
        @rijnummer := CASE WHEN ro.SpelerID <> @id THEN 1 ELSE @rijnummer + 1 END rijnummer,
        @id := ro.SpelerID SpelerID,
        ro.score
    FROM
        (
        SELECT
            d1.SpelerID,
            r2.Score
        FROM
            deelnemers d1
        JOIN
            resultaten r2
            ON d1.SpelerID = r2.SpelerID
        WHERE r2.SeizoenID = 5
        ORDER BY d1.SpelerID, r2.score
        ) ro
    CROSS JOIN
        (
        SELECT
            @rijnummer := 1,
            @id := 0
        ) var
    ) r
    ON s.SpelerID = r.SpelerID
GROUP BY s.SpelerID, s.SpelerNaam, s.Aantal
ORDER BY gemiddelde DESC,s.Aantal

De eerste subquery haalt de spelers en het totaal aantal gespeelde partijen op.
De tweede haalt alle resultaten op en nummert deze per speler (in PostGres/Oracle/SQLserver etc gaat dit veel eenvoudiger).

Dit wordt dan gebruikt om te bepalen welke resultaten mee moeten worden genomen in de aggegrate functies (NULL wordt genegeerd)

Edit:
JOIN Conditions toegevoegd
Gewijzigd op 19/08/2015 13:14:11 door Ger van Steenderen
 
Martin Rep

Martin Rep

29/08/2015 20:54:27
Quote Anchor link
Ger van Steenderen op 19/08/2015 11:45:00:

De eerste subquery haalt de spelers en het totaal aantal gespeelde partijen op.
De tweede haalt alle resultaten op en nummert deze per speler (in PostGres/Oracle/SQLserver etc gaat dit veel eenvoudiger).

Dit wordt dan gebruikt om te bepalen welke resultaten mee moeten worden genomen in de aggegrate functies (NULL wordt genegeerd)


Ger, dit ziet er heel indrukwekkend uit, maar toch kom ik er niet helemaal uit. Kun jij me de weg wijzen in wat voor bestand ik deze code moet plakken?
Dank!
Gewijzigd op 29/08/2015 20:55:31 door Martin Rep
 
Eddy E

Eddy E

29/08/2015 21:04:26
Quote Anchor link
Dit haal in 1 query het SpelerID, SpelerNaam, Aantal, Gemiddelde, Hoogste en Laagste op.
Probeer de query eens gewoon uit en kijk met print_r() wat hij terug geeft.
 
Martin Rep

Martin Rep

25/10/2015 20:17:15
Quote Anchor link
Hai Ger van Steenderen - Complimenten, briljant! Pas vandaag kon ik er iemand bij halen die veel meer verstand heeft van PHP dan ik en die mij geholpen heeft je script te implementeren. We hadden het niet verwacht, maar het werkt, met wat kleine aanpassingen. Het is verder een kwestie van een beetje peuteren en dan werkt het allemaal.
Eén vraag nog. Er zijn grote verschillen in de aantallen wedstrijden die spelers afwerken. Nu loop je de (theoretische) kans dat een speler één keer speelt, een topscore haalt en het dan verder voor gezien houdt. Op die manier zou hij kampioen worden.
In onze huidige ranking lossen we dat op door alle spelers die minder dan 20 wedstrijden hebben gespeeld, 30.000 punten voor iedere niet-gespeelde wedstrijd te geven.Dat zou ook in de nieuwe oplossing passen.
Hoe kunnen we dat implementeren in jouw script?
Nogmaals enorm bedankt, ben hier erg blij mee.
Martin
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

27/10/2015 08:06:50
Quote Anchor link
Dan gebruik je in plaats van AVG() SUM() en bij minder dan 20 wedstrijden tel je er een x aantal bij op.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
    (SUM(CASE
            WHEN r.rijnummer <= 10 THEN r.score
            ELSE
                CASE
                    WHEN r.rijnummer > 10 AND r.rijnummer > s.Aantal - 10 THEN r.score
                    ELSE NULL END
        END) + CASE
            WHEN s.Aantal < 20 THEN (20-s.Aantal) * 30000
            ELSE 0 END) / 20 gemiddelde,
 
Martin Rep

Martin Rep

28/10/2015 23:06:41
Quote Anchor link
Kan ik je een PM sturen, en zo ja, hoe?


Toevoeging op 29/10/2015 06:56:35:

Martin Rep op 28/10/2015 23:06:41:
Kan ik je een PM sturen, en zo ja, hoe?

…Je hebt 'm al! (^^)
 



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.