PANIER

cs_smoochy Messages postés 183 Date d'inscription mercredi 29 novembre 2000 Statut Membre Dernière intervention 23 avril 2010 - 1 juin 2007 à 16:58
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 16 juin 2007 à 00:12
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42938-panier

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
16 juin 2007 à 00:12
Ménage fait dans les commentaires.
-Les questions sont à poster sur le forum.
-DrMinMax est prié de se donner un minimum de peine dans la rédaction de ses messages.

Merci.
DrMinmax Messages postés 45 Date d'inscription vendredi 9 mars 2007 Statut Membre Dernière intervention 7 juillet 2007
6 juin 2007 à 12:10
d accord merci
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
6 juin 2007 à 08:09
Peg, je viens de poster une source qui t'expliquera le pourquoi du comment :
http://www.flashkod.com/codes/COMMENT-ECRIRE-VARIABLES-POUR-RECONNAITRE-RAPIDEMENT_42999.aspx

Et toi DrMinmnax :
C'est juste un exemple de comment on gère vraiment un Caddy.
DrMinmax Messages postés 45 Date d'inscription vendredi 9 mars 2007 Statut Membre Dernière intervention 7 juillet 2007
5 juin 2007 à 19:44
vous pouvez m expliquer ce que vous venez de poster?
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
5 juin 2007 à 19:40
on sent l'influence du PHP ...:p
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
5 juin 2007 à 19:37
Correction :

stop() ;

_DVDID= 0 ;
_STOCK= new Object() ;
//
var $forest= addToStock( "ForestGump", 14.95, 5 ) ;
var $taxi2 = addToStock( "Taxi 2", 14.95, 4 ) ;
var $rings = addToStock( "Le seigneur des anneaux", 19.95, 2 ) ;
var $smith = addToStock( "Mr and Mrs Smith", 9.95, 10 ) ;
var $doctor= addToStock( "Dct Givago", 9.95, 3 ) ;
//
function addToStock( $title, $price, $quantity )
:Object{
var $ref= ('DVD'+_DVDID++) ;
var $dvd= { title: $title,
price: $price,
qty: $quantity,
ref: $ref } ;
_STOCK[$ref]= $dvd ;
return $dvd ;
}
//


showStock() ;
//
function showStock()
:Void{
var $stock= 0 ;
var $price= 0 ;
//
trace( 'STOCK ******************************************************' );
for( var i in _STOCK ){
var $dvd= _STOCK[i] ;
var $total= ($dvd.qty*$dvd.price);
trace( '| ref: '+$dvd.ref+' | title: '+ $dvd.title.toUpperCase()+' |') ;
trace( '| qty: '+$dvd.qty+' | PUTTC: ' +$dvd.price + ' soit ' + $total +' Euros |' );
trace( '|-----------------------------------------------------------' );
$stock+= $dvd.qty ;
$price+= $total ;
}
trace( 'Soit un stock de '+$stock+' DVD, pour un montant de '+$price+' Euros' ) ;
trace( '************************************************************' ) ;
}




_CADDY= new Object() ;

function addToCaddy( $dvd, $qty )
:Boolean{
var $id= $dvd.ref ;
var $next= _STOCK[$id].qty-$qty ;

if( $next>= 0 ){
var $newQty= _CADDY[$id]+$qty ;
if( isNaN($newQty) ) $newQty= $qty ;

_CADDY[$id]= $newQty ;
trace( 'Vous avez maintenant '+getTotalArticle()+' article(s) dans votre panier pour un montant total de '+getTotalPrice()+' Euros' ) ;
return true ;

} else {
var $diff= Math.abs($next) ;
trace( 'Il ne reste plus assez de '+$dvd.title.toUpperCase()+'. veuillez en retirer au moins '+$diff+' !!!' );
return false ;
}
}
//

function getTotalArticle()
:Number{
var $cumul= 0 ;
for( var $ref in _CADDY ) $cumul+= _CADDY[$ref] ;
return $cumul ;
}
//

function getTotalPrice()
:Number{
var $cumul= 0 ;
for( var $ref in _CADDY ) {
var $qty= _CADDY[$ref] ;
var $dvd= _STOCK[$ref] ;
$cumul+= $qty*$dvd.price ;
}
return $cumul ;
}


addToCaddy( $rings, 1 );
addToCaddy( $taxi2, 2 );
addToCaddy( $forest, 12 );



Affiche:
STOCK ******************************************************
| ref: DVD4 | title: DCT GIVAGO |
| qty: 3 | PUTTC: 9.95 soit 29.85 Euros |
|-----------------------------------------------------------
| ref: DVD3 | title: MR AND MRS SMITH |
| qty: 10 | PUTTC: 9.95 soit 99.5 Euros |
|-----------------------------------------------------------
| ref: DVD2 | title: LE SEIGNEUR DES ANNEAUX |
| qty: 2 | PUTTC: 19.95 soit 39.9 Euros |
|-----------------------------------------------------------
| ref: DVD1 | title: TAXI 2 |
| qty: 4 | PUTTC: 14.95 soit 59.8 Euros |
|-----------------------------------------------------------
| ref: DVD0 | title: FORESTGUMP |
| qty: 5 | PUTTC: 14.95 soit 74.75 Euros |
|-----------------------------------------------------------
Soit un stock de 24 DVD, pour un montant de 303.8 Euros
************************************************************
Vous avez maintenant 1 article(s) dans votre panier pour un montant total de 19.95 Euros
Vous avez maintenant 3 article(s) dans votre panier pour un montant total de 49.85 Euros
Il ne reste plus assez de FORESTGUMP. veuillez en retirer au moins 7 !!!
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
5 juin 2007 à 19:34
Résultat:
STOCK ******************************************************
| ref: DVDNaN | title: DCT GIVAGO |
| qty: 3 | PUTTC: 9.95 soit 29.85 Euros |
|-----------------------------------------------------------
| ref: DVDundefined | title: FORESTGUMP |
| qty: 5 | PUTTC: 14.95 soit 74.75 Euros |
|-----------------------------------------------------------
Soit un stock de 8 DVD, pour un montant de 104.6 Euros
************************************************************
Vous avez maintenant 1 article(s) dans votre panier pour un montant total de 9.95 Euros
Vous avez maintenant 3 article(s) dans votre panier pour un montant total de 29.85 Euros
Il ne reste plus assez de FORESTGUMP. veuillez en retirer au moins 7 !!!
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
5 juin 2007 à 19:33
stop() ;

_DVDID= 0 ;
_STOCK= new Object() ;
//
var $forest= addToStock( "ForestGump", 14.95, 5 ) ;
var $taxi2 = addToStock( "Taxi 2", 14.95, 4 ) ;
var $rings = addToStock( "Le seigneur des anneaux", 19.95, 2 ) ;
var $smith = addToStock( "Mr and Mrs Smith", 9.95, 10 ) ;
var $doctor= addToStock( "Dct Givago", 9.95, 3 ) ;
//
function addToStock( $title, $price, $quantity )
:Object{
var $ref= ('DVD'+$_DVDID++) ;
var $dvd= { title: $title,
price: $price,
qty: $quantity,
ref: $ref } ;
_STOCK[$ref]= $dvd ;
return $dvd ;
}
//


showStock() ;
//
function showStock()
:Void{
var $stock= 0 ;
var $price= 0 ;
//
trace( 'STOCK ******************************************************' );
for( var i in _STOCK ){
var $dvd= _STOCK[i] ;
var $total= ($dvd.qty*$dvd.price);
trace( '| ref: '+$dvd.ref+' | title: '+ $dvd.title.toUpperCase()+' |') ;
trace( '| qty: '+$dvd.qty+' | PUTTC: ' +$dvd.price + ' soit ' + $total +' Euros |' );
trace( '|-----------------------------------------------------------' );
$stock+= $dvd.qty ;
$price+= $total ;
}
trace( 'Soit un stock de '+$stock+' DVD, pour un montant de '+$price+' Euros' ) ;
trace( '************************************************************' ) ;
}




_CADDY= new Object() ;

function addToCaddy( $dvd, $qty )
:Boolean{
var $id= $dvd.ref ;
var $next= _STOCK[$id].qty-$qty ;

if( $next>= 0 ){
var $newQty= _CADDY[$id]+$qty ;
if( isNaN($newQty) ) $newQty= $qty ;

_CADDY[$id]= $newQty ;
trace( 'Vous avez maintenant '+getTotalArticle()+' article(s) dans votre panier pour un montant total de '+getTotalPrice()+' Euros' ) ;
return true ;

} else {
var $diff= Math.abs($next) ;
trace( 'Il ne reste plus assez de '+$dvd.title.toUpperCase()+'. veuillez en retirer au moins '+$diff+' !!!' );
return false ;
}
}
//

function getTotalArticle()
:Number{
var $cumul= 0 ;
for( var $ref in _CADDY ) $cumul+= _CADDY[$ref] ;
return $cumul ;
}
//

function getTotalPrice()
:Number{
var $cumul= 0 ;
for( var $ref in _CADDY ) {
var $qty= _CADDY[$ref] ;
var $dvd= _STOCK[$ref] ;
$cumul+= $qty*$dvd.price ;
}
return $cumul ;
}


addToCaddy( $rings, 1 );
addToCaddy( $taxi2, 2 );
addToCaddy( $forest, 12 );



No coment...
DrMinmax Messages postés 45 Date d'inscription vendredi 9 mars 2007 Statut Membre Dernière intervention 7 juillet 2007
5 juin 2007 à 11:38
merci
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
5 juin 2007 à 07:24
Ben pour les critiques constructives, mainteannt que le zip est un vrai zip, on peut regarder :

- Alors déjà la belle faute de départ : "Somme d'argent dont vous disposeR" ... passons
- Ensuite, tu devrais bloquer le nombre de caractères affichable dans ta somme, car au-delà de 10 chiffres, ça part en sucette
- Même remarque pour les quantités de produits .. car on peut augmenter et diminuer à l'infini. Un petit script de bloquage sur les boutons serait le bienvenu (mais ça a déjà été dit)
- C'est trop figé, effectivement, tu n'as pas le choix d'une liste et je plussoie mes camarades pour le XML.
- C'est du Flash 5.0 ... il serait temps que tu te mettes à jour ...

Conclusion .. ben heu ... un panier, certe, mais de crâbes !
Aucun interêt autre qu'une simple addition et multiplication ... autant faire ça en HTML et javascript. Flash n'apporte absolument rien à cet exercice.

Peg'
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
4 juin 2007 à 15:20
Salut,

Qu'elle amabilitée.... à mon avis tu peux toujours espérer avant que quelqu'un t'aide à ajouter du XML surtout avec tes : "fais le puisque t'es intellegent !!"

Bref je ne connais pas grand chose au flash mais vu le niveau de tes codes sur javafr je doute que ceux-ci soient plus riche ...........
DrMinmax Messages postés 45 Date d'inscription vendredi 9 mars 2007 Statut Membre Dernière intervention 7 juillet 2007
4 juin 2007 à 01:11
vous pouvez m aider a travailler avec xml car j connai pas faire la liaison entre flash et .xml
merci
zoolivier Messages postés 17 Date d'inscription jeudi 7 octobre 2004 Statut Membre Dernière intervention 13 mars 2009
4 juin 2007 à 01:07
Je trouve la source très interessante du fait de sa simplicité, ensuite rien n'empêche de dire que par exemple la variable PF1 reçoit maintenant sa valeur d'un XML, PF1 n'est si je ne me trompe qu'un bloc texte que je peux transformer en bloc texte dynamique afin de le remplir dynamiquement, et ainsi de suite.
Ce petit exemple, est la première pierre d'un édifice, qui n'a de limite que celle de votre imagination.
Merci de votre attention, bonne soirée et également merci au "DrMinmax" pour cette source.
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
3 juin 2007 à 14:24
Hello,

Non, je ne vais pas le faire, ca demande de repenser toute ta source...
Maintenant, prend quelques minutes et fait une recherche sur flashkod des sources niveau initié et compare avec la tienne... tu vas sans doute comprendre ce que je veux dire.

Je reprend ma phrase de mon précédent post :
"Attention, je ne dénigre PAS la source, je dis juste qu'elle n'est pas du tout du niveau initié."

P.S. regarde ma source SYSTEME DE VOTE FLASH - PHP / MYSQL que j'ai mise en niveau initié. Rien que dans le titre tu remarques que liaison flash et base de données, je maitrise...

@+
Girou
DrMinmax Messages postés 45 Date d'inscription vendredi 9 mars 2007 Statut Membre Dernière intervention 7 juillet 2007
3 juin 2007 à 14:07
Selon moi, pour être niveau initié, cette source devrait au minimum :
* avoir tout le contenu des articles dans un XML ou une base de données (facilité de mise à jour),


fais le puisque t'es intellegent !!
DrMinmax Messages postés 45 Date d'inscription vendredi 9 mars 2007 Statut Membre Dernière intervention 7 juillet 2007
2 juin 2007 à 23:33
j vais regarder pour ca
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
2 juin 2007 à 10:06
Bonjour,

je trouve un peu excessif de mettre cette source en initié !
Il n'y a rien de compliqué dans cette source, quelques variables, deux trois boutons et c'est tout.

L'idée, bien sur, n'est pas mauvaise, mais comment fais tu pour modifier un article facilement ?
A chaque fois tu dois modifier le fla, republier le swf + upload sur serveur.
Bien pire, comment ajouter (ou supprimer) un ou plusieurs articles...
Là, tout le code doit être adapté.

Pour moi, c'est une source niveau débutant, d'autant plus que les scripts se trouvent sur les boutons et pas sur un calque spécifique avec ciblage et nom d'occurence.

Attention, je ne dénigre PAS la source, je dis juste qu'elle n'est pas du tout du niveau initié.

Selon moi, pour être niveau initié, cette source devrait au minimum :
* avoir tout le contenu des articles dans un XML ou une base de données (facilité de mise à jour),
* que l'affichage gère un nombre non connu à l'avance d'articles (ça marcherait pour 1 comme pour 100 articles)
* qu'on ne puisse pas commander des quantité négatives de produits. Petit bug, si je commande -2 Seigneur des anneaux, au total la source m'indique que j'ai choisi -4 articles...

Enfin bref, quelque chose de nettement plus conséquent et polyvalent.

@+
Girou
DrMinmax Messages postés 45 Date d'inscription vendredi 9 mars 2007 Statut Membre Dernière intervention 7 juillet 2007
1 juin 2007 à 17:04
ah oui t as raison , merci beaucoup !!!!
bon j ai concentre juste sur le graphiq de cette application sans prenant soin des details
merci
cs_smoochy Messages postés 183 Date d'inscription mercredi 29 novembre 2000 Statut Membre Dernière intervention 23 avril 2010
1 juin 2007 à 16:58
hello,
j'ai juste regadé le swf sans regarder le code, mais ça à l'air sympa, je regarderai plus en détails plus tard....
juste une première observation à chaud, faudrait bloquer le compteur pour pas qu'il descende en dessous de 0... je devais payer -75 euros à la fin :-P

++
Rejoignez-nous