Punten systeem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jeroen Roeleveld

Jeroen Roeleveld

09/01/2014 22:28:44
Quote Anchor link
Hallo allemaal,

Mij is gevraagd of ik een script met punten telling voor de persoonlijke wedstrijden kan maken voor onze vereniging.
Nu heb ik het een en ander voor elkaar gekregen maar ik stuit op een probleem, waar in niet iets voor kan vinden.
Ik heb een database gemaakt met de tabellen voornaam,tussenvoegsel,achternaam,pw1s,pw1m,pw1p,plek
pw1s, wordt gevult met het aantal schoten,
pw1m, wordt gevult met het aantal meters,
pw1p, wordt gevult met het aantal punten,
plek wordt gevult met de behaalde plek,

Het is de bedoeling dat de eerste de meeste punten krijgt dus nr1 -->10 punten en nr10 --> 1 punt.
Het onderstaande hebt ik gemaakt maar ik weet niet hoe ik het met de punten telling moet doen?
Quote:
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
<?php
require_once 'db_config.php';

// aantal deelnemers tellen

$result = mysql_query("SELECT pw1s FROM leden WHERE pw1s BETWEEN 1 AND 100 ");
$aantalrijen = mysql_num_rows($result);
echo "Er zijn momenteel ".$aantalrijen." deelnemers";



   //--Terug tellen
for($teller= $aantalrijen;  $teller>=0;  $teller--)
{

echo "De waarde van de teller is nu: " . $teller . "<br>";
}

   //---------------------------
  
  //      pw1s = Persoonlijke wedstrijd 1 aantal schoten
  //      pw1m = Persoonlijke wedstrijd 1 aantal meters
  //      pw1p = Persoonlijke wedstrijd 1 aantal punten

  

$sql =          
        "UPDATE INTO snertronde (id,
        voornaam,
        tussenvoegsel,
        achternaam,
        pw1s,
        pw1m,
        pw1p, )
        SELECT
        id,
        voornaam,
        tussenvoegsel,
        achternaam,
        pw1s,
        pw1m,
        pw1p  FROM leden WHERE pw1s BETWEEN 1 AND 100 ORDER BY pw1s ASC , pw1m DESC"
;
        
$res = mysql_query($sql);



if(!$res = mysql_query($sql))
{

    trigger_error(mysql_error().'<br />In query: '.$sql);
}

else
{
    $id = mysql_insert_id();
}

?>



wie weet hier raad mee?
b.v.d.
 
PHP hulp

PHP hulp

28/01/2023 15:22:39
 
Php knipper

php knipper

09/01/2014 23:18:39
Quote Anchor link
ik snap niet wat je bedoeld,

kun je eens een voorbeeld geven, "stel een jan schiet .....

ps. klopt die insert sql wel (UPDATE & SELECT) ?
 
Jeroen Roeleveld

Jeroen Roeleveld

10/01/2014 20:13:25
Quote Anchor link
Bedankt voor je reactie.

Ik zal het iets anders uitleggen wat de bedoeling is.
Ik heb een tabel genaamd "snertronde" in mijn database bestaand uit de volgende velden.
Quote:
Plek voornaam tussenvoegsel achternaam pw1s pw1m pw1p
1 Jan Jansens 14 122 6
2 kai Beertje 14 57,5 5
3 Paul Kok 14 49 4
4 Stephan vd Molen 14 24,5 3
5 Bas Roo 15 130,5 2
6 Alex Vos 16 20 1

Deze wil ik vullen vanuit tabel "leden".
Als deze wordt gevult moet diegene met de minste aantal schoten "pw1s" en het meest aantal meters "pw1m" boven aan komen te staan, dus "plek" 1. Plek 1 krijgt de meeste aantal punten afhankelijk van het aantal deelnemers, dit wil ik wegschrijven in "pw1p".
Het weg schrijven en het sorteren van de goede volgorde lukt prima (hij schrijft alleen twee keer de zelfde data onder elkaar uit).
Het tellen van het aantal deelnemers lukt ook wel en vanuit dat aantal terug tellen lukt ook.
Het probleem is nu hoe krijg ik de nummers van de plek en en de punten op de goede plek in mijn tabel?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

10/01/2014 20:31:14
Quote Anchor link
Wat denk denk je hiervan
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
UPDATE INTO snertronde

Als je dat soort SQL commando's al uitprobeert adviseer ik je eerst een te verdiepen in PHP/MySQL, en als ik de opbouw van de tabellen zie ook nog eens in database normalisatie
 
Ivo P

Ivo P

10/01/2014 21:02:34
Quote Anchor link
je hebt al een lijst met leden. Daarin staan de namen, dus in jouw nieuwe tabel heb je alleen het lidnummer (id van je tabel leden) nodig.

Verder blinken de namen van je kolommen pw1x niet uit in duidelijkheid, maar dat is misschien voor een beoefenaar van die sport wel duidelijk.

Doet iedereen maar 1 rondje mee?

dus je slaat dan bij dat lidid op 5 schoten, 33.8 meter

--
en dan zijn er nog de punten. Hoe verdien je die punten? je hebt het over het aantal deelnemers. Betekent dat dat er een bepaald aantal punten is (zeg 100) die over 10, dan wel over 14 of 50 deelnemers verdeeld moeten worden?

Of kun je gewoon een berekening loslaten op het aantal schoten en aantal meters?

Toevoeging op 10/01/2014 21:07:10:

ah:
"pw1m = Persoonlijke wedstrijd 1 aantal meters"

dat lijkt me niet handig, want dan ga je straks zeker ook een pw2m en een pw9m etc krijgen?

Doe dan maar een kolom pwm of gewoon "meters", want we weten al dan het om een persoonlijke wedstrijd gaat. En ook pws of "schoten"

Dat nummertje 1 dat sla je op in de kolom "wedstrijdnummer".
Desnoods maak je nog een andere tabel aan die vertelt dat wedstrijd met nummer 1 op 22 jan 2014 werd gehouden onder de naam Snertwedstrijd.

Dan hoef je niets anders te veranderen dan een regel toevoegen in die wedstrijden tabel zodat nummer 2 over de carnavalswedstrijd op 3 maart ging en de paaswedstrijd in mei....

grondregel: genummerde kolommen betekenen dat je datamodel niet klopt
 
Jeroen Roeleveld

Jeroen Roeleveld

10/01/2014 21:55:54
Quote Anchor link
Hallo Ivo,

Je hebt gelijk, sorry ik ben ook maar een beginner.
Ik dacht dat dit mischien handiger en korter was maar een nieuwe kolom maken met daar in het wedstrijdnummer is makkelijker en duidelijker.
Maar je snapt wel wat de bedoeling is.

Nog een korte uitleg:

De sport is klootschieten.
Over een afstand van 2000m doet men b.v. 14 schoten over, komt je over de eindstreep dan tellen de aantal meters over de eindstreep mee b.v. 33.8m.
Het aantal punten dat je krijgt is afhankelijk van het aantal deelnemers als er 10 leden mee doen zijn er 10 punten te verdelen, doen er 22 mee dan zijn er 22 punten te verdelen.
Er zijn in totaal 7 persoonlijke wedstrijden hiervan worden de punten bij elkaar opgeteld en zo kom je tot een algemene winnaar. Des te meer wedstijden je mee doet hoe meer kans je hebt om het te winnen.

ik ga eerst mijn tabel aanpassen zodat hij duidelijker wordt voor 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.