Cheira-me que vou ter de contratar alguém para me fazer isso!
É possível sim, visto que se não tens conhecimentos de JavaScript nem PHP, é complicado....
Mas eu vou dar-te algumas dessas luzes que tu procuras...
Ok, vais precisar de JavaScript e PHP.
Primeiro considera as segintes funções que fiz em JavaScript para te ajudar:
function calculate(inputID, divID, ammount) {
if(inputID.checked) {
document.getElementById(divID).innerHTML = roundtotal((document.getElementById(divID).innerHTML * 1) + (ammount * 1));
} else {
document.getElementById(divID).innerHTML = roundtotal((document.getElementById(divID).innerHTML * 1) - (ammount * 1));
}
}
function roundtotal(num) {
return (isNaN(num)) ? 0 : num.toFixed(2);
}
Agora a parte do formulário em HTML...
<form action="" method="post">
<p>
<input type="checkbox" onchange="javascript: calculate(this, 'total', 10.00);" checked="checked" name="valor[]" value="id"/>
</p>
</form>
Desta forma poderás calcular o valor total a pagar e apresentar na página em
"real-time".
Deixo-te aqui algo para poderes testar.... fiz agora em "cima do joelho" como costumo dizer....
<!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" xml:lang="pt" lang="pt">
<head>
<title>Calcular by =IceBurn=</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript">
/*<![CDATA[*/
function calculate(inputID, divID, ammount) {
if(inputID.checked) {
document.getElementById(divID).innerHTML = roundtotal((document.getElementById(divID).innerHTML * 1) + (ammount * 1));
} else {
document.getElementById(divID).innerHTML = roundtotal((document.getElementById(divID).innerHTML * 1) - (ammount * 1));
}
}
function roundtotal(num) {
return (isNaN(num)) ? 0 : num.toFixed(2);
}
/*]]>*/
</script>
</head>
<body>
<h1><em>Calcular</em></h1>
<form action="" method="post">
<p>
A <input type="checkbox" onchange="javascript: calculate(this, 'total', 10.25);" name="valor[]" value="id_do_extra_na_bd"/> 10.25 €
</p>
<p>
B <input type="checkbox" onchange="javascript: calculate(this, 'total', 78.14);" name="valor[]" value="id_do_extra_na_bd"/> 78.14 €
</p>
<p>
C <input type="checkbox" onchange="javascript: calculate(this, 'total', 22.78);" name="valor[]" value="id_do_extra_na_bd"/> 22.78 €
</p>
<p>
D <input type="checkbox" onchange="javascript: calculate(this, 'total', 100.15);" name="valor[]" value="id_do_extra_na_bd"/> 100.15 €
</p>
</form>
<hr />
<p>
<strong>TOTAL A PAGAR:</strong> <span id="total">0.00</span> €
</p>
<p><small>Coded by <a href="http://portugalparanormal.com/">=IceBurn=</a></small></p>
</body>
</html>
Depois, em vez de JS, usas PHP para fazer os cálculos quando o cliente submeter o formulário.
Isto partindo do princípio que queres fazer tudo numa página e não em diversas páginas. Caso seja em diversas páginas então aí terás que recorrer a sessões... mas isso já é outra história
Cumprimentos,
IceBurn