Als dit uiteindelijk je formulier zal zijn:
HTML:
<form action="" method="post">
<b>Selecteer een spel</b><br />
<select name="game" id="game">
<option value="1">Call of Duty 3</option>
<option value="2">Call of Duty 4</option>
<option value="3">Counterstrike: Source</option>
</select>
<input type="hidden" value="3" name="pps" id="pps" />
<b>Selecteer het aantal sloten</b><br />
<select name="slots" id="slots">
<option value="8">8</option>
<option value="10">10</option>
<option value="12">12</option>
</select>
<b>Selecteer een speltype</b><br />
<select name="type" id="type">
<option value="16">Team Deatmatch</option>
<option value="18">Last Man Standing</option>
<option value="19">Deathmatch</option>
</select>
<b>Setupkosten:</b> €25<br />
Totaal prijs: €<input type="text" value="0" name="subtotal" id="subtotal" />
<input type="submit" value="Verzenden" />
</form>
Daar moet natuurlijk een databasemodel achter hangen.
Tabellen welke ik in gedachten heb zijn:
games
game_id - INT - auto_inc - PRIMARY
game_name - VARCHAR(50)
prijs_per_slot - INT(3)
gametypes
type_id - INT - auto_inc - PRIMARY
type_name - VARCHAR(50)
Voor de slots ga ik voor het gemak uit van een standaard-lijstje, eenvoudig op te zetten door een array.
Je zult dan een JavaScript-functie gaan maken welke wordt uitgevoerd bij een
onchange op de select-box van "game".
Die functie zal dan uit de database moeten halen wat de prijs per slot is, die ga je in het verborgen veld "pps" opslaan.
PHP:
document.getElementById("pps").value = waarde_uit_database;
De JS-variabele
waarde_uit_database dien je dus d.m.v. AJAX op te vragen.
Die functie moet er ook voor zorgen dat de select-box van "type" wordt gevuld met de juiste gametypes.
Als laatste gaat die functie een berekening uitvoeren zodat het totaalbedrag verschijnt.
Nu zou je voor die berekening apart een functie kunnen schrijven en die gebruiken.
Dus eerst rekenen
PHP:
function calcTotal(pps, numSlots) {
var setupCosts = 25; // Waarschijnlijk zijn er ook setupkosten aan verbonden, die neem ik dus hier mee.
return (pps*numSlots) + setupCosts;
}
en dan zorgen dat ie wordt uitgevoerd
PHP:
// Waardes opvragen
var pps = document.getElementById("pps").value;
var slots = document.getElementById("slots").value;
// Zorgen dat het totaalbedrag wordt ingevuld
document.getElementsBy("subtotal").value = calcTotal(pps, slots);
Volgens mij ben je nu aardig op weg geholpen, de rest is aan jou.