Toon posts:

[MySQL] berekening uitvoeren met 3 tabellen.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

Ik ben bezig met de website van een voetbalvereniging die gebruik maakt van mysql en php. Bij het berekenen van de stand voor een team kom ik een probleem tegen. Ik zal eerst vertellen hoe de database structuur eruit ziet van de tabellen waarom het gaat.

Tabelnaam: indeling_zami1
Velden: id, team en aanvang
id = ID nummer van het team om later te koppelen aan de tabel met het programma.
team = Naam van het elftal
aanvang = Aanvangstijd van de thuiswedstrijden

Tabelnaam: schema_14
Velden: id, wd, thuis, uit
id = ID nummer van de wedstrijd
wd = Wedstrijddag (1, 2, 3 enz..)
thuis = Thuis spelende team
uit = Uit spelende team

In de tabel schema_14 komt staat dus welke teams tegen elkaar spelen met daaraan gekoppeld een ID nummer en wd nummer.

Tabelnaam: uitslagen_zami1
Velden: id, thuis, uit
id = ID nummer van de wedstrijd (komt overeen met id in schema_14)
thuis = Aantal doelpunten van het thuis spelende team
uit = Aantal doelpunten van het uit spelende team


Met behulp van deze 3 tabellen wil ik berekenen hoeveel wedstrijden ieder team heeft gespeeld, gelijk gespeeld, gewonnen en verloren en hoeveel keer er is gescoord en hoeveel doelpunten er tegen zijn gescoord.

De gedachte erachter is heel eenvoudig. Bekijk hoevaak een ID nummer van een wedstrijd van team 1 voorkomt in de tabel uitslagen_zami1, bekijk daarna of de wedstrijd is gewonnen enz..

Ik ben hier al een behoorlijke tijd mee bezig, maar kom er echt niet uit.

Weet iemand welke query's ik moet uitvoeren om het goede resultaat te krijgen ?

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Even over je model, beginnen thuiswedstrijden van een club ALTIJD op hetzelfde moment? Ik denk dat begintijd een attribuut is van 'wedstrijd', en niet van 'club'.

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

[standaard antwoord p&w #1]
Laat eens zien wat je al hebt en geef hierin aan wat de problemen zijn.
[/standaard antwoord p&w #1]

Who is John Galt?


  • Skinny
  • Registratie: Januari 2000
  • Laatst online: 13-09 23:09

Skinny

DIRECT!

Ik heb een beetje mijn vraagtekens bij het model :

Voorstel model m.i. :
code:
1
2
3
4
5
6
7
8
9
10
11
12
tabel : Teams
--------------
id = uniek nummer
naam = naam van het team

tabel : Wedstrijden
--------------
tijdstip : timestamp (Datum/tijd) aanvang wedstrijd
thuis_team : id van thuisspelend team
uit_team : id van uitspelend team
thuis_goals : aantal doelpunten thuisspelend team
uit_goals : aantal doelpunten uitspelend team

Wedstrijden gewonnen van team x :
code:
1
2
3
4
5
SELECT * FROM wedstrijden 
WHERE 
(thuis_team = X AND thuis_goals > uit_goals)
OR
(uit_team = X AND uit_goals > thuis_goals)

SIZE does matter.
"You're go at throttle up!"


Verwijderd

Topicstarter
Op vrijdag 28 december 2001 12:35 schreef Nielsz het volgende:
Even over je model, beginnen thuiswedstrijden van een club ALTIJD op hetzelfde moment? Ik denk dat begintijd een attribuut is van 'wedstrijd', en niet van 'club'.
Bijna altijd. Die tijden zijn door de KNVB vastgesteld om zo min mogelijk problemen te krijgen met de veldindelingen.

  • NightBird
  • Registratie: Januari 2000
  • Laatst online: 17:04

NightBird

DPC-Crew Coding
Ik zou tabel 2 en 3 gewoon samenvoegen, nu heb je onnodig veel tabellen. Een tabel voor een club, en een tabel voor een wedstrijd. Meer dingen heb je toch niet?
Dat maakt het al een stuk eenvoudiger denk ik.

WatHoorJeWaar · Asobakken
Eerdere projecten: Leading Courses · Brandstof-zoeker.nl · Voertuig-zoeker.nl


Verwijderd

Topicstarter
Op vrijdag 28 december 2001 12:35 schreef justmental het volgende:
[standaard antwoord p&w #1]
Laat eens zien wat je al hebt en geef hierin aan wat de problemen zijn.
[/standaard antwoord p&w #1]
Dit is wat ik al heb.
http://epauli.dyndns.org/~epauli/qst/zami/elftallen/1/programma.php

Daaruit wil ik de aangegeven berekeningen maken. Ik heb daar een paar ideeen voor, maar weet niet hoe ik dit in mysql voor elkaar moet krijgen.

Verwijderd

Topicstarter
Op vrijdag 28 december 2001 12:40 schreef NightBird het volgende:
Ik zou tabel 2 en 3 gewoon samenvoegen, nu heb je onnodig veel tabellen. Een tabel voor een club, en een tabel voor een wedstrijd. Meer dingen heb je toch niet?
Dat maakt het al een stuk eenvoudiger denk ik.
Ik ga dit maken voor 7 teams.
Zaterdag 1 en 2
Zondag 1 t/m 5

In dat geval is het handiger om 2 en 3 gescheiden te houden.

  • NightBird
  • Registratie: Januari 2000
  • Laatst online: 17:04

NightBird

DPC-Crew Coding
Op vrijdag 28 december 2001 12:44 schreef epauli het volgende:

[..]

Ik ga dit maken voor 7 teams.
Zaterdag 1 en 2
Zondag 1 t/m 5

In dat geval is het handiger om 2 en 3 gescheiden te houden.
Dan zou ik een het per team opslaan, en dan een tabel maken met de verschillende klassen die je hebt. Dat is altijd beter dan per klasse een tabel te maken. (zami1, zami2, etc...)

WatHoorJeWaar · Asobakken
Eerdere projecten: Leading Courses · Brandstof-zoeker.nl · Voertuig-zoeker.nl


  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Op vrijdag 28 december 2001 12:43 schreef epauli het volgende:
Dit is wat ik al heb.
http://epauli.dyndns.org/~epauli/qst/zami/elftallen/1/programma.php
Ziet er leuk uit, maar met de source kunnen we meer ;)

Who is John Galt?


Verwijderd

Topicstarter
Op vrijdag 28 december 2001 12:39 schreef Skinny het volgende:
Ik heb een beetje mijn vraagtekens bij het model :

Voorstel model m.i. :
code:
1
2
3
4
5
6
7
8
9
10
11
12
tabel : Teams
--------------
id = uniek nummer
naam = naam van het team

tabel : Wedstrijden
--------------
tijdstip : timestamp (Datum/tijd) aanvang wedstrijd
thuis_team : id van thuisspelend team
uit_team : id van uitspelend team
thuis_goals : aantal doelpunten thuisspelend team
uit_goals : aantal doelpunten uitspelend team

Wedstrijden gewonnen van team x :
code:
1
2
3
4
5
SELECT * FROM wedstrijden 
WHERE 
(thuis_team = X AND thuis_goals > uit_goals)
OR
(uit_team = X AND uit_goals > thuis_goals)
Dit werkt alleen als ik tabel 2 en 3 samenvoeg. Dit model ga ik gebruiken voor 7 teams. In dat geval is het extra werk om tabeln 2 en 3 samen te voegen, omdat dan 7 keer het volledige schema in de database komt.

  • Skinny
  • Registratie: Januari 2000
  • Laatst online: 13-09 23:09

Skinny

DIRECT!

Update :

Zo kun je per klasse ("zaterdag-1", "zondag-2") de teams ingeven.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
tabel : Klassen
---------------
id = uniek nummer
naam = naam van de klasse
speeldag = 0,1,2,3,4,5,6 (weekdag)

tabel : Teams
--------------
id = uniek nummer
naam = naam van het team
klasse_id = uniek nummer (Verwijst naar tabel klassen)

tabel : Wedstrijden
--------------
tijdstip : timestamp (Datum/tijd) aanvang wedstrijd
thuis_team : id van thuisspelend team
uit_team : id van uitspelend team
thuis_goals : aantal doelpunten thuisspelend team
uit_goals : aantal doelpunten uitspelend team

SIZE does matter.
"You're go at throttle up!"


Verwijderd

Topicstarter
Op vrijdag 28 december 2001 12:49 schreef justmental het volgende:

[..]

Ziet er leuk uit, maar met de source kunnen we meer ;)
Ehh ja, je hebt gelijk, hier komt ie :)
Veel dingen kunnen nog een stuk efficienter, maar ik wil het eerst werkend krijgen voordat ik ga optimaliseren.

showprogramma_zami1.php
=======================
PHP:
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?
#-----------------------------------------------------------
# Geeft het programma weer.
#-----------------------------------------------------------
function ShowProgrammaSenioren($mysql_result){

echo "<body background>\n";
echo "<table class=lst width=\"350\">\n<tr>\n";
echo "<td class=lstlc2>KIES EEN WEDSTRIJDDAG</td>";
echo "</tr>";
echo "<td class=lstlc>";

echo "<b>PERIODE 1:</b>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=1\">1</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=2\">2</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=3\">3</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=4\">4</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=5\">5</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=6\">6</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=7\">7</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=8\">8</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=9\">9</a><br>";
echo "<b>PERIODE 2:</b>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=10\">10</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=11\">11</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=12\">12</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=13\">13</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=14\">14</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=15\">15</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=16\">16</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=17\">17</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=18\">18</a><br>";
echo "<b>PERIODE 3:</b>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=19\">19</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=20\">20</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=21\">21</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=22\">22</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=23\">23</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=24\">24</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=25\">25</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=26\">26</a>";
echo "</td></tr>";
echo "</table>";
echo "\t<br><br>\n";
echo "<table class=lst width=\"\">\n<tr>\n";
echo "\t<th class=lst width=\"90\" align=\"center\">&amp;nbsp;Datum</td>\n";
echo "\t<th class=lst width=\"290\" align=\"left\" colspan=\"1\">&amp;nbsp;Wedstrijd</td>\n";
echo "\t<th class=lst width=\"70\" align=\"center\" colspan=\"1\">WD/Per</td>\n";
echo "\t<th class=lst width=\"70\" align=\"center\" colspan=\"1\">Uitslag</td>\n";
echo "</tr>\n\n";

while($row = mysql_fetch_array($mysql_result)){


echo "\t<tr class=lst>\n";

$rsDatum = mysql_query("SELECT DATE_FORMAT(datum,'%d-%m-%Y') AS datum FROM datum_zami1 WHERE id = " . $row[id]);
$rowDatum = mysql_fetch_array($rsDatum);

echo "\t<td class=lstlc width=\"90\">&amp;nbsp;" . $rowDatum[datum] . "</td>\n";

$rsTeamnaam = mysql_query("SELECT team FROM indeling_zami1 WHERE id = " . $row[thuis]);
$rowTeamnaam = mysql_fetch_array($rsTeamnaam);

$rsTeamnaam2 = mysql_query("SELECT team FROM indeling_zami1 WHERE id = " . $row[uit]);
$rowTeamnaam2 = mysql_fetch_array($rsTeamnaam2);

echo "\t<td class=lstlc width=\"290\">&amp;nbsp;" . $rowTeamnaam[team] . " - " . $rowTeamnaam2[team] . "</td>\n";

$rsPeriode = mysql_query("SELECT per FROM periode_zami1 WHERE wd = " . $row[wd]);
$rowPeriode = mysql_fetch_array($rsPeriode);

echo "\t<td class=lstcc width=\"70\">&amp;nbsp;" . $row[wd] . "/" . $rowPeriode[per] . "</td>\n";

$rsUitslag = mysql_query("SELECT thuis FROM uitslagen_zami1 WHERE id = " . $row[id]);
$rowUitslag = mysql_fetch_array($rsUitslag);

$rsUitslag2 = mysql_query("SELECT uit FROM uitslagen_zami1 WHERE id = " . $row[id]);
$rowUitslag2 = mysql_fetch_array($rsUitslag2);

echo "\t<td class=lstcc width=\"70\">&amp;nbsp;" . $rowUitslag[thuis] . " - " . $rowUitslag2[uit] . "</td>\n";

mysql_free_result($rsTeamnaam);
mysql_free_result($rsTeamnaam2);

}

echo "<tr>\n\n";
echo "\t<th class=lst width=\"\" align=\"center\" colspan=\"4\">WD = Wedstrijddag / Per = Periode</td>\n";
echo "</tr>\n\n";
echo "</table>\n\n";
}
?>

programma.php
=============
PHP:
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
<?
 

#-----------------------------------------------------------
include("../../../etc/pagetools.php");
include("../../../etc/showprogramma_zami1.php");
#----------------------------------------------------------

#-----------------------------------------------------------
$pagetitle="Programma zami-1";
$stylesheet="../../../etc/style.css";
#-----------------------------------------------------------

mysql_connect (localhost, $user, $passwd)
or ShowErrorAndDie($pagetitle, $stylesheet, "Sorry, cannot connect to mysql database");
mysql_select_db (quicksteps)
or ShowErrorAndDie($pagetitle, $stylesheet, "Sorry, cannot select database");

$query = "SELECT * FROM schema_14";
$result = mysql_query ("SELECT * FROM schema_14 WHERE wd LIKE '$wd'");

StartHTMLFile($pagetitle, $stylesheet);

echo "\n<table width=\"525\">\n<tr>\n";
echo "\t<td><h1>$pagetitle</h1><br>\n";
echo "\t</td>\n</tr>\n</table>\n\n<br><br>\n\n";

echo "\t<table width=\"525\">\n<tr>\n";
echo "\t";
echo "\t</tr>\n</table>\n";

ShowProgrammaSenioren($result);
mysql_free_result($result);
mysql_close();

echo "</table>\n\n<br>\n<br>\n\n</center>\n\n";

ShortEndHTMLFileAndDie();
?>

  • NightBird
  • Registratie: Januari 2000
  • Laatst online: 17:04

NightBird

DPC-Crew Coding
Op vrijdag 28 december 2001 12:59 schreef epauli het volgende:

[..]

Ehh ja, je hebt gelijk, hier komt ie :)
Veel dingen kunnen nog een stuk efficienter, maar ik wil het eerst werkend krijgen voordat ik ga optimaliseren.

showprogramma_zami1.php
=======================
Hint: Gebruik de [ php ] [ /php ] tags ...
PHP:
1
2
3
4
5
6
7
<?
echo "<body background>\n";
echo "<table class=lst width=\"350\">\n<tr>\n";
echo "<td class=lstlc2>KIES EEN WEDSTRIJDDAG</td>";
echo "</tr>";
echo "<td class=lstlc>";
?>

WatHoorJeWaar · Asobakken
Eerdere projecten: Leading Courses · Brandstof-zoeker.nl · Voertuig-zoeker.nl


Verwijderd

Topicstarter
Op vrijdag 28 december 2001 13:07 schreef NightBird het volgende:

[..]

Hint: Gebruik de [ php ] [ /php ] tags ...
Ik begreep niet wat je hiermee bedoelde, maar het is inderdaad handig en een stuk overzichtelijker.

Verwijderd

Topicstarter
Op vrijdag 28 december 2001 12:55 schreef Skinny het volgende:
Update :

Zo kun je per klasse ("zaterdag-1", "zondag-2") de teams ingeven.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
tabel : Klassen
---------------
id = uniek nummer
naam = naam van de klasse
speeldag = 0,1,2,3,4,5,6 (weekdag)

tabel : Teams
--------------
id = uniek nummer
naam = naam van het team
klasse_id = uniek nummer (Verwijst naar tabel klassen)

tabel : Wedstrijden
--------------
tijdstip : timestamp (Datum/tijd) aanvang wedstrijd
thuis_team : id van thuisspelend team
uit_team : id van uitspelend team
thuis_goals : aantal doelpunten thuisspelend team
uit_goals : aantal doelpunten uitspelend team
Op die manier kan het ook. Maar dan zit ik met 7 keer dezelfde gegevens in de database, namelijk het wedstrijdschema (thuis_team tegen uit_team) dat voor de 7 teams apart in de tabellen komt. Dat wil ik alleen als het echt niet op een andere manier kan.

Verwijderd

afgezien van die MySQL:
PHP:
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
<?
echo "<b>PERIODE 1:</b>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=1\">1</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=2\">2</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=3\">3</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=4\">4</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=5\">5</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=6\">6</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=7\">7</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=8\">8</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=9\">9</a><br>";
echo "<b>PERIODE 2:</b>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=10\">10</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=11\">11</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=12\">12</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=13\">13</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=14\">14</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=15\">15</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=16\">16</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=17\">17</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=18\">18</a><br>";
echo "<b>PERIODE 3:</b>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=19\">19</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=20\">20</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=21\">21</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=22\">22</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=23\">23</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=24\">24</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=25\">25</a>&amp;nbsp;&amp;nbsp;";
echo "<a href=\"programma.php?wd=26\">26</a>";
?>

kan veel korter hoor:
PHP:
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
<?
//Periode 1
echo "<b>PERIODE 1:</b>&amp;nbsp;&amp;nbsp;";
for ($i=1;$i<10;$i++) {
   echo "<a href=\"programma.php?wd=$i\">$i</a>&amp;nbsp;&amp;nbsp;";
}
echo "<br>";


//Periode 2
echo "<b>PERIODE 1:</b>&amp;nbsp;&amp;nbsp;";
for ($i=10;$i<19;$i++) {
   echo "<a href=\"programma.php?wd=$i\">$i</a>&amp;nbsp;&amp;nbsp;";
}
echo "<br>";


//Periode 3
echo "<b>PERIODE 3:</b>&amp;nbsp;&amp;nbsp;";

echo "<b>PERIODE 1:</b>&amp;nbsp;&amp;nbsp;";
for ($i=19;$i<27;$i++) {
   echo "<a href=\"programma.php?wd=$i\">$i</a>&amp;nbsp;&amp;nbsp;";
}
echo "<br>";
?>

  • Skinny
  • Registratie: Januari 2000
  • Laatst online: 13-09 23:09

Skinny

DIRECT!

Op vrijdag 28 december 2001 14:01 schreef epauli het volgende:

[..]

Op die manier kan het ook. Maar dan zit ik met 7 keer dezelfde gegevens in de database, namelijk het wedstrijdschema (thuis_team tegen uit_team) dat voor de 7 teams apart in de tabellen komt. Dat wil ik alleen als het echt niet op een andere manier kan.
:? Dit snap ik niet.. Ieder team in een klasse heeft toch een ander wedstrijdschema ?

Groep 1 :
Zaterdag - 1 (jouw club)
Zaterdag - 1 Club 2
Zaterdag - 1 Club 3

Groep 2 :
Zondag - 2 (jouw club)
Zondag - 2 Club 2
Zondag - 3 Club 3

SIZE does matter.
"You're go at throttle up!"


Verwijderd

Topicstarter
Op vrijdag 28 december 2001 14:29 schreef Skinny het volgende:

[..]

:? Dit snap ik niet.. Ieder team in een klasse heeft toch een ander wedstrijdschema ?
Door de KNVB zijn de schema's vast gesteld.
Als voorbeeld neem ik schema 12 (wedstrijd overzicht voor een poule met 12 teams)

wedstrijddag 1:
team 1 - team 12
team 2 - team 11
team 3 - team 10
team 4 - team 9
team 5 - team 8
team 6 - team 7

wedstrijddag 2:
team 11 - team 1
team 10 - team 2
team 9 - team 3
team 8 - team 4
team 7 - team 5
team 12 - team 6

enz...

Dit schema is voor ieder team in een poule met 12 teams hetzelfde.

Als ik de tabellen op deze manier indeel
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
tabel : Klassen
---------------
id = uniek nummer
naam = naam van de klasse
speeldag = 0,1,2,3,4,5,6 (weekdag)

tabel : Teams
--------------
id = uniek nummer
naam = naam van het team
klasse_id = uniek nummer (Verwijst naar tabel klassen)

tabel : Wedstrijden
--------------
tijdstip : timestamp (Datum/tijd) aanvang wedstrijd
thuis_team : id van thuisspelend team
uit_team : id van uitspelend team
thuis_goals : aantal doelpunten thuisspelend team
uit_goals : aantal doelpunten uitspelend team

komt het hele wedsrtrijdschema dus meerdere keren in de database voor en dat is overbodig.

  • NightBird
  • Registratie: Januari 2000
  • Laatst online: 17:04

NightBird

DPC-Crew Coding
Op vrijdag 28 december 2001 14:34 schreef epauli het volgende:

[..]

Door de KNVB zijn de schema's vast gesteld.
Als voorbeeld neem ik schema 12 (wedstrijd overzicht voor een poule met 12 teams)

Dit schema is voor ieder team in een poule met 12 teams hetzelfde.

Als ik de tabellen op deze manier indeel
[..]
komt het hele wedsrtrijdschema dus meerdere keren in de database voor en dat is overbodig.
Ja, maar er wordt ook nog wel eens een wedstrijd afgelast enzo .. maakt dat niet uit dan, omdat de weekindeling dan anders wordt (wedstrijddagen niet altijd op dezelfde volgorde). Magoed .. als je dus de gewonnen wedstrijden van een team wilt hebben:
code:
1
2
3
4
5
6
7
SELECT * FROM schema_14,uitslagen_zami1
WHERE 
schema_14.wd=uitslagen_zami1.wd
AND
  (schema_14.thuis = X AND uitslagen_zami1.thuis > uitslagen_zami1.uit)
  OR
  (schema_14.uit = X AND uitslagen_zami1.uit > uitslagen_zami1.thuis)

Dat doe je dan x3, en dan de gelijkgespeelde wedstrijden erbij optellen.

Zoiets denk ik....

WatHoorJeWaar · Asobakken
Eerdere projecten: Leading Courses · Brandstof-zoeker.nl · Voertuig-zoeker.nl


Verwijderd

Topicstarter
Op vrijdag 28 december 2001 23:25 schreef NightBird het volgende:

[..]

Ja, maar er wordt ook nog wel eens een wedstrijd afgelast enzo .. maakt dat niet uit dan, omdat de weekindeling dan
Dat maakt inderdaad niks uit.
De weekindeling blijft altijd hetzelfde, ook als een wedstrijd wordt afgekeurd.

Voorbeeld:
team 2 - team 1 wordt gespeeld op wedstrijddag 2.
Als die wedstrijd wordt afgekeurd en 5 weken later wordt ingehaald is het niet ineens wd7, maar blijft 2.
Dit wordt o.a. gedaan om geen problemen te krijgen met de periode [1, 2, 3]-standen

  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Als ik het goed begrijp zou je het volgende moeten hebben:

Tabel: schema
schema_ID
aantal_poule_deelnemers

Tabel: schema_wedstrijd:
schema_ID
westrijddag
thuis_spelend
uit_spelend

Tabel: poule
poule_ID
omschrijving_poule
schema_ID

tabel: team
team_ID
poule_ID
nummer_in_poule
club_naam
team_naam

Tabel: uitslag
team_id_thuis
team_id_uit
wedstrijddag (is eigenlijk redundant en kan dus weg)
goals_thuis
goals_uit

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op vrijdag 28 december 2001 14:16 schreef Jppr het volgende:
afgezien van die MySQL:
[...]
kan veel korter hoor:
PHP:
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
<?
//Periode 1
echo "<b>PERIODE 1:</b>&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;";
for ($i=1;$i<10;$i++) {
   echo "<a href=\"programma.php?wd=$i\">$i</a>&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;";
}
echo "<br>";

//Periode 2
echo "<b>PERIODE 1:</b>&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;";
for ($i=10;$i<19;$i++) {
   echo "<a href=\"programma.php?wd=$i\">$i</a>&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;";
}
echo "<br>";


//Periode 3
echo "<b>PERIODE 3:</b>&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;";

echo "<b>PERIODE 1:</b>&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;";
for ($i=19;$i<27;$i++) {
   echo "<a href=\"programma.php?wd=$i\">$i</a>&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;";
}
echo "<br>";
?>
Kan veel beter hoor.
PHP:
1
2
3
4
5
6
7
8
<?
for ($i=1;$i<27;$i++) {
  if ($i==0) echo "<b>PERIODE 1:</b>&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;";
  if ($i==10) echo "<b>PERIODE 2:</b>&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;";
  if ($i==19) echo "<b>PERIODE 3:</b>&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;";
  echo "<a href=\"programma.php?wd=$i\">$i</a>&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;";
}
?>

:+

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

dusty, begin je nu niet ook eerst over het ontwerp ipv het programmeren? ;)

Verwijderd

Topicstarter
Op woensdag 02 januari 2002 14:06 schreef Goodielover het volgende:
Als ik het goed begrijp zou je het volgende moeten hebben:
Nee, ik heb de volgende tabellen:
code:
1
2
3
4
5
6
7
8
Tabelnaam: indeling_zami1
Velden: id, team en aanvang

Tabelnaam: schema_14
Velden: id, wd, thuis en uit

Tabelnaam: uitslagen_zami1
Velden: id, thuis, uit

Daarin staan alle gegevens die nodig zijn.

  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Ik bedoel ZOU MOETEN HEBBEN. Wat je hebt heb ik gelezen.
Ik heb nagedacht en toen bovenstaand opgesteld.
Dit was een vriendelijke manier om te zeggen: je ontwerp deugt niet.

Verwijderd

Topicstarter
Op woensdag 02 januari 2002 14:06 schreef Goodielover het volgende:
Tabel: uitslag
team_id_thuis
team_id_uit
wedstrijddag (is eigenlijk redundant en kan dus weg)
goals_thuis
goals_uit
Op deze manier moet ik per team 2 keer het wedstrijdschema invoeren, namelijk bij de wedstrijden en bij de uitslagen.
Het is toch beter om een ID nummer te geven aan een wedstrijd ?

Misschien kun je jouw idee wat beter toelichten.
Pagina: 1