Voetbal opstelling
Iemand een idee waar het aan kan liggen?
Het script van Jan is hier te vinden: KLIK
Code (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
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
<?php
ini_set ('display_errors', 1);
error_reporting (E_ALL);
//require 'stats.php';
$title = 'Robert Deiman | Voetbalmanager';
$form_action = $_SERVER['REQUEST_URI'];
$sOpstelling = '4-4-2';
$aOpstelling = explode('-',$sOpstelling);
$aSpelers = array(1 => 'Robert Deiman', 'Alex Venema', 'Albert Venema', 'Bernd Spengler', 'Bob Hudepohl', 'William de Roos', 'Pieter Nijland', 'Johan Haverslag', 'Jeroen Doorgeest', 'Freek Hogeboom', 'Tonnie Tuten', 'Bulent Köse', 'Nico in \'t Veld');
function set_selectbox ($id, $options) {
echo PHP_EOL . '<select id="' . $id . '" name="' . $id . '">';
echo PHP_EOL . '<option value="0"> - leeg - </option>';
foreach ($options as $key => $value) {
echo PHP_EOL . '<option value="' . $key . '">' . $value . '</option>';
}
echo PHP_EOL . '</select>';
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Jan Koehoorn | <?php echo $title; ?></title>
<link rel="stylesheet" type="text/css" media="screen" href="reset.css" />
<link rel="stylesheet" type="text/css" media="screen" href="oop.css" />
<style type="text/css">
p{
text-align:center;
}
</style>
<script type="text/javascript" src="mootools/mootools.js"></script>
<script type="text/javascript">
window.addEvent ('domready', function () {
$$('form#opstelling select').each (function (item) {
item.addEvent ('change', function () {
check_other_players (this);
});
});
});
function check_other_players (select_to_check) {
$$('form#opstelling select').each (function (item) {
if (item.id != select_to_check.id && item.value == select_to_check.value) {
item.value = 0;
}
});
}
</script>
</head>
<body>
<div id="container">
<h1><?php echo $title; ?></h1>
<h2>In een voetbalopstelling zorgen dat 1 speler niet op 2 plaatsen kan staan</h2>
<form id="opstelling" method="post" action="#">
<?php
echo '<p>';
set_selectbox('keeper', $aSpelers);
echo '</p>';
echo '<p>';
for($i = 1; $i <= $aOpstelling[0]; $i++){
set_selectbox('verdediger'.$i,$aSpelers);
}
echo '</p>';
echo '<p>';
for($i = 1; $i <= $aOpstelling[1]; $i++){
set_selectbox('middenvelder'.$i,$aSpelers);
}
echo '</p>';
echo '<p>';
for($i = 1; $i <= $aOpstelling[2]; $i++){
set_selectbox('aanvaller'.$i,$aSpelers);
}
echo '</p>';
?>
</form>
<?php //require 'show_source.php'; ?>
</div>
</body>
</html>
ini_set ('display_errors', 1);
error_reporting (E_ALL);
//require 'stats.php';
$title = 'Robert Deiman | Voetbalmanager';
$form_action = $_SERVER['REQUEST_URI'];
$sOpstelling = '4-4-2';
$aOpstelling = explode('-',$sOpstelling);
$aSpelers = array(1 => 'Robert Deiman', 'Alex Venema', 'Albert Venema', 'Bernd Spengler', 'Bob Hudepohl', 'William de Roos', 'Pieter Nijland', 'Johan Haverslag', 'Jeroen Doorgeest', 'Freek Hogeboom', 'Tonnie Tuten', 'Bulent Köse', 'Nico in \'t Veld');
function set_selectbox ($id, $options) {
echo PHP_EOL . '<select id="' . $id . '" name="' . $id . '">';
echo PHP_EOL . '<option value="0"> - leeg - </option>';
foreach ($options as $key => $value) {
echo PHP_EOL . '<option value="' . $key . '">' . $value . '</option>';
}
echo PHP_EOL . '</select>';
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Jan Koehoorn | <?php echo $title; ?></title>
<link rel="stylesheet" type="text/css" media="screen" href="reset.css" />
<link rel="stylesheet" type="text/css" media="screen" href="oop.css" />
<style type="text/css">
p{
text-align:center;
}
</style>
<script type="text/javascript" src="mootools/mootools.js"></script>
<script type="text/javascript">
window.addEvent ('domready', function () {
$$('form#opstelling select').each (function (item) {
item.addEvent ('change', function () {
check_other_players (this);
});
});
});
function check_other_players (select_to_check) {
$$('form#opstelling select').each (function (item) {
if (item.id != select_to_check.id && item.value == select_to_check.value) {
item.value = 0;
}
});
}
</script>
</head>
<body>
<div id="container">
<h1><?php echo $title; ?></h1>
<h2>In een voetbalopstelling zorgen dat 1 speler niet op 2 plaatsen kan staan</h2>
<form id="opstelling" method="post" action="#">
<?php
echo '<p>';
set_selectbox('keeper', $aSpelers);
echo '</p>';
echo '<p>';
for($i = 1; $i <= $aOpstelling[0]; $i++){
set_selectbox('verdediger'.$i,$aSpelers);
}
echo '</p>';
echo '<p>';
for($i = 1; $i <= $aOpstelling[1]; $i++){
set_selectbox('middenvelder'.$i,$aSpelers);
}
echo '</p>';
echo '<p>';
for($i = 1; $i <= $aOpstelling[2]; $i++){
set_selectbox('aanvaller'.$i,$aSpelers);
}
echo '</p>';
?>
</form>
<?php //require 'show_source.php'; ?>
</div>
</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
Ik heb het hier lokaal even geprobeerd en kan niets vreemds ontdekken...
Ik kan in Firefox in elk geval wel 2 keer dezelfde speler selecteren in een ander veld. En dat mag niet.. Ik kan niet als keeper en als aanvaller opgesteld worden. Bij mij werkt dat niet goed.. :S
ps. Zou het zomaar kunnen zijn dat mootools.js niet geladen wordt? Dat was bij namelijk in eerste instantie ook het geval totdat ik het pad goed zette...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Het voordeel van deze ten opzichte van die van Jan is dat je een opstelling kan weergeven. (4-3-3, 4-4-2, 3-5-2) en dat die deze opstelling dan ook in je opmaak terug laat zien. Daarnaast is het ook een stukje minder code ;)
Ziet er netjes uit hoor, mooi dat het weer werkt ;-)
Het is slechts een aanpassing van het script van Jan he.. 'k wou er een database aan koppelen maar zo kan ik even testen of het idee wel werkt.
De echte complimenten gaan naar Jan, die voor de gelegenheid ook nog even zijn script heeft bewerkt naar een Mootools versie.