Panel php/ajax

Description

Un jour, j'avais besoin d'un panier en php, j'avais recherché sur CS, sans trouver ce que je cherche ... finalement je l'ai fait à la main .
Je le poste pour ceux qui voudrons l'utiliser, mais surtout ajouter des fonctionnalités et le reposter .

Pour l'utilisation, mettez la fichier ajaxcaddie.php là où vous voulez l'afficher ( Je conseil un petit rectangle / onglet comme ds la capture ) .

Vous trouverez qqes explications dans les commentaires, cependant voici un courte description du contenu:

<<< Panel.php >>>
C'est la représentation du panier, une fois crée il doit rester en session tant que vous avez
un session_start(); à l'entete de vos pages. (Un tableau en session)

Variables Traitées :
- Réference : ref;
- Designation : label;
- Quantité : qt;
- Prix : price.
Fonctions :
__________________________________________________________________
Création du panier
Si panier existant retoune;
Sinon crée la panier et retourne true;
Utilisation --> createPanel()
__________________________________________________________________
+add($ref,$label,$qt,$price)
ajouter un article
@ref : code article
@$label : Designation
@$qt : quantité
@$price : prix

__________________________________________________________________

Supression d'un article
  • @$ref : Reference de l'élément à supprimer;


Utilisation --> delete($ref){

__________________________________________________________________

modifier un article
@ref : Designation de l'élément à modifier;
@qt : La nouvelle quantité;

Utilisation --> modifyQuantity($ref,$qt)
__________________________________________________________________
Montant du panier
@return
$total : nombre réel ( montant global )

Utilisation --> getGlobalAmount(){
__________________________________________________________________
Quantité d'un élément
@ref : Référence de l'élément;
@return :
$ret : quantité;
Utilisation --> getQuantityByRef($ref)
__________________________________________________________________
Prix d'un élément
@ref : Réference de l'élément;
@return :
$ret : prix;
Utilisation --> getPriceByRef($ref)
__________________________________________________________________
Référence d'un élément par sa position
@position : Position de l'élément dans le tableau;
@return :
$ret : la référence;
Utilisation --> getRefByPosition($position)
__________________________________________________________________
Designation d'un élément par sa position
@position : Position de l'élément dans le tableau;
@return :
$ret : la designation;
Utilisation --> getLabelByPosition($position)
__________________________________________________________________
Quantité d'un élément par sa position
@position : Position de l'élément dans le tableau;
@return :
$ret : la quantité;
Utilisation --> getQuantityByPosition($position)
__________________________________________________________________
Prix d'un élément par sa position
@position : Position de l'élément dans le tableau;
@return :
$ret : le prix;
Utilisation --> getPriceByPosition($position)
__________________________________________________________________

Vérifier si élément est existant
@ref : Réference de l'élément;
Utilisation --> isInPanel($ref)
__________________________________________________________________
Nombre d'éléments
@return :
$ret : nombre d'éléments dans le panier;
Utilisation --> getSize()
__________________________________________________________________

<<< ajaxCaddie.php >>>

Contient script et fonctions qui récupèrent les parametres du script Ajax, ( l'action et les parametres ) , effectue les opérations
demandées ( ajout , suppression ) et retourne le contenu mis à jour du panier .

<<< ajax/ajax_caddie.js >>>
C'est le script ajax, qui interroge ajaxcaddie.php ... je ne sais pas si c'est correcte ou non, mais pour chaque fonction, j'ai mis un CallBack .

________________________________________________________________________________________
Utilisation :
---------------

--> Pour afficher le panier, inclure : caddie.php ; (il faut garder les dossiers/fichiers dans la meme hierarchie) .

--> pour ajouter un article :
sur la meme page où est inclu caddie.php , mettez le lien ajouter sur votre article (une image par exemple ...):
<a ... onClick="add('libelle','fileRef','quantité','prix')" ...>...</a>; (fileRef), à supprimer dans le code si vous n'en avez pas besoin .

--> Supprimer un article se fait par sa reference :
sur le lien de supression ajouter :
<a ... onClick="deleteByRef('ref')" ..>...</a>
===>
Petit bout de code que j'ai utilisé dans site en php de vente de fichiers MP3 ( téléchargement payant ) :
( dans source )

Source / Exemple :


/* Dans ce bout de code, je ne veux pas depasser une quantité de 1 donc je l'ai mis explicitement */
if(isInPanel($tuple[6])){
	// article présent au panier 
	echo '<font color="red"><b>Supprimer du panier</b></font><br>';
	echo '<img src="images/delete_from_panier.png" onClick="deleteByRef('.$tuple[6].')" >';
	}else{
	// article abscent du panier
	// price : promo ou pas
	$price=$tuple[4];
	if($tuple[3]=='y'){
			$price=$tuple[5];
	}else{
			$price=$tuple[4];
	}
	echo '<img src="images/ajout_panier.gif" onClick="add('.$tuple[6].',\''.$tuple[0].'\',1,'.$price.')" >';
	}

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.