salut,
Je vous explique mon soucis :
je souhaite afficher le nombre d'article sélectionné par le visiteur sans le stocker dans une base de données.
J'ai des select avec des options et dans les options j'ai des quantité, je voudrais récupérer les quantités en les afficher en temps réel pour indiquer le nombre d'article sélectionné.
Est ce possible ?

merci

28 réponses


Bien sur: dans un cookie ou en session.

Bonjour.
Il vaut mieux en Session, il ne faut pas oublier que pour les cookies il faut demander l'accord aux utilisateurs maintenant avant d'en créer.
Ils ont le droit de refuser, et s'ils refusent ton système tombe à l'eau. :)

Effectivement, quoiqu'il me semble que certains types de cookies ne sont pas soumis a cette nécessité d'autorisation, par exemple ceux servant pour les paniers.

Je peux me tromper, cela dit ...

De mémoire tu te trompe pas vall' ^^
Les sessions serait une bonne solution sauf qu'elles sont temporelles, chose pas forcement tip-top dans le cas où un user voudrait stocker un panier temporaire, de plus, tu pourras pas interagir en temps réelle avec les session, un refresh de la page seras requis.
Donc faut te tourné vers les cookies, qui eux seront manipulable via JS

Ok merci les gars pouvez vous si possible me montrer un exemple de code avec le système que vous m'avez donné.
Merci

pour faire un Pannier, il te faut une session, dans laquelle tu stock:
row_id, nom_produit, quantite_produit, prix, [options]
row_id c'est l'id de la ligne du cart, en général id_produit que tu concatène avec des options.
option c'est un tableau d'option pour stocker des parametres comme 'taille' => 'large', 'couleur' => 'bleu'
une fonction qui calcule le total HT et TTC

il faut que tu fasse une fonction éditer en faisant bien attention à avoir des row_id uniques

après hue cocotte !

Salut garniture banner,
merci pour tes explications mais je suis bille la dedans je commence juste a apprendre le php alors les sesions c du chinois.
par contre je cherche a recuperer uniquement la quantité d articles. Je ne veux pas le reste.
merci

Regardes bien l'utilisation des tableaux en php,
ensuite : la session
les superglobales

avec tout sa t'as tous les outils pour réussir.

merci de votre coup de main mais je vais vous expliquer ce que je veux faire, peu être que je me suis mal expliqué :
J'ai sur ma page des articles avec des selects et des options, ou l'utilisateur choisit la taille et la quantité. ce que je veux faire c'est récupérer le choix quantité et comptabiliser le nombre d'article que l'utilisateur a choisi, et les afficher dans le header.
Je ne souhaite pas utiliser de base de donnée et je veux que l'addition se fasse en temps réel.
Ex: je choisi 2 t-shirt, 1 pantalon ce qui fait 3 articles au total, et que le total s'affiche dans le header.Si il rajoute un article supplémentaire qu'il s'ajoute aux articles déjà sélectionné.

merci

NB: je sais je suis une bille!!

Tu n'es pas une bille, c'est juste que tu tentes un marathon juste après avoir appris à marcher.
Faire un site marchand c'est dur et tu n'as pas droit à l'erreur...

en faite je veux faire quelque chose de simple, juste récupérer les quantité et les additionner et les afficher.

j'ai réussi à récupérer et afficher les valeurs en Jquery maintenant c les additionner.
je cherche sur le net mais je ne trouve pas ce que je veux.

Ca se passe en plusieurs étapes:
1- Tu récupères les valeurs que tu veux (ca apparement c'est fait)
2- Tu les stocks dans des variables
3- Tu les additionnes
4- Tu stockes ca en local storage si tu veux les concerver de page en page
5- Tu l'afficge quelque part sur ta page

Montre nous le code que tu as déja. Je comprends pas bien comment tu peux coincer sur une simple addition ...

je vous montre mon code que j'ai fais en Jquery :

<script type="text/javascript">
$(document).ready(function(){ 
        $('#pantaM_q').change(function() {
      var a = $("#pantaM_q option:selected").val(); 
        $('#retour').html(a); 
      }) 
        $('#pantaw_q').change(function() {
     var b = $("#pantaw_q option:selected").val(); 
        $('#retour').html(b); 

     })       
});
</script>

<div class="compteur">
    <h2>Nombre d'articles :</h2><span id="retour"></span>
</div>

<select id="pantaM_q" class="qtt" name="pantaM_q">
    <option>Choisir</option>
    <option value=0>0</option>
    <option value=1>1</option>
    <option value=2>2</option>
    <option value=3>3</option>
    <option value=4>4</option>
    <option value=5>5</option>
    </select>

le premier code récupère la valeur de mon option sélectionnés et l'affiche dans la div retour
le deuxième c'est ma div retour.
le troisième l'un de mes selects, et j'en ai 22.

merci

mon soucis c'est d'additionner la valeur a et b

Il faut juste que tu les stockes dans une variables, que tu utilises a chaque fois pour ajouter tes trucs:
http://codepen.io/fvilliers/pen/ofkgz dans cet exemple c'est la variable total_articles.

D'ailleurs ton code est trop compliqué.
Si tous tes select ont une classe qtt, alors pas besoin de fair eun $.change() pour chaque. Un seul

$(".qtt").change(function(e){ value = $(this).val() })

et bien écoute ça fonctionne avec le code du lien que tu m'as donné.
super je te remercie beaucoup, c'est la qu'on voit que j'ai des trucs à apprendre.

merci encore

Cool, bonne continuation !

autre chose comment faire pour que la valeur de total_articles soit par défault à 0 au départ?

merci

C'est dans le lien que je t'ai filé: tu fais un

var total_articles = 0;

il n'est pas à 0 par défault il n'affiche rien

je voudrais qu'il affiche 0

Il est a 0, mais tu ne l'affiches pas (tu l'affiches uniquement lorsque tu change un select).
Ajoute simplement un 0 dans ton HTML a l'intérieur de ta span :p ...

ok super cool merci encore ciao
tu est d'ou ?
moi de bretagne finistère nord

merci

lol.

Je suis aux Etats Unis :D

ok alors bonne journée moi je vais faire dodo