Ik ben bezig een opstelling systeem te maken voor een voetbalteam. Natuurlijk mogen hierbij geen spelers op meerdere posities komen te staan. Nu heb ik een paar kleine aanpassingen gedaan, maar nu werkt het script van Jan Koehoorn niet meer.
Iemand een idee waar het aan kan liggen?

Het script van Jan is hier te vinden: KLIK


<?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>
Wat werkt er niet dan? Wat gaat er niet zoals je verwacht had?

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
Firefox -> Firebug? Geeft deze nog een foutmelding?

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...
Goeie tip Blanche ;) Dat was het enige.
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 ;-)
@Blanche

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.

Reageren