Forum Clubic

Comment compter les cases cochées sur une page web ?

Bonjour à tous, je suis entrain de concevoir un site qui va me permettre de vendre ma collection de DVD. Vu que je n’ai vraiment pas beaucoup d’expérience dans le domaine, j’aurais quelques questions à vous poser.

Ce que je voudrais faire, c’est une page listant tous mes DVD avec leur pochette respective et en dessous de chaque pochette, une case à cocher. Jusque là, pas de problème. Là où ça se corse, c’est que je voudrais pouvoir faire comme une sorte de compteur qui va compter le nombre de cases à cocher qui sont cochées sur la page. Donc dès que quelqu’un clique sur soit l’image, soit directement la case à cocher correspondante, cela ajoute 1 dans un petit encart à part au nombre de DVD déjà cochés. Et là je n’ai aucune idée de comment procéder, ni même où chercher.

Voilà le brouillon de la page :

www.megaupload.com…

Merci d’avance pour vos éclaircissements :slight_smile:

Bonjour,
Je précise que je n’ai pas été voire ton lien :slight_smile:
Je pars du principe que tu utilise une BDD pour ta collection.
A ce moment-là, tu vas générer un tableau en lisant ton fichier, chaque ligne de ton tableau va comporte le nom de ton DVD, l’ilmage de la pochette et une case à cocher.
Sur la case à cocher du vas lui attribuer un identifiant unique, le nom du DVD par exemple.
Voici un bout de code après, plus qu’a l’adapter.

<html>
 <head>
 </head>
 <SCRIPT>
 function cliquer(titre)  
 {
	if (document.getElementById(titre.id).checked)
	{
		document.getElementById('CompteurSélection').value++;
	}
	else
	{
		document.getElementById('CompteurSélection').value--;
	}
 }
 </SCRIPT>
 <body>
<?php
$titre="Spiderman";
echo "<input type='checkbox' name='interet' id='".$titre."' onClick='cliquer(this)'/>";
?>
<input name="CompteurSélection" type="text" id="r1"/>
 </body>
</html>

Après, si tu veux corser la chose, plus qu’a crée une des titres des DVD cochés.
Edité le 18/02/2011 à 15:33

J’utiliserai plutôt onchange qu’onclick. ie:

<script type="text/javascript">//<!--
var nb = 0;
function cliquer(cb) 
{
	nb += cb.checked ? +1:-1;
	document.getElementById('r1').value = nb;
 }
 //--></script>
 <body>
<?php foreach (array('A', 'B', 'C', 'D') as $dvd) { ?>
	<input type="checkbox" name="dvd[]" value="<?php $dvd; ?>" onchange="cliquer(this);" />
<?php } ?>
<input name="CompteurSélection" type="text" id="r1"/>

Plusieurs choses :

  1. je ne suis pas sûr de l’effet du ++/-- sur des chaines de caractères (value++), si tu as de la chance ça transforme la chaine en nombre, et incrémente. Sinon, dans d’autres cas, ça incrémente le dernier caractère (genre si tu “tata”, ça passe à “tatb”).

  2. le pointeur this c’est l’objet sur lequel porte l’événement, inutile de faire un truc tordu comme utilisé id pour le retrouver

  3. J’ai mis dvd[] car si tu utilises php, tu voudras certainement obtenir une liste de DVD à vendre, ce que te permettra les [].

Vlà.

Merci pour vos réponses, par contre je n’ai pas le niveau pour comprendre ce que vous avez écrit. L’idéal serait effectivement de créer une page à partir d’une base de données (c’est possible avec access ?) Je ne sais pas comment insérer la BdD dans le code.