Panel php/ajax

Soyez le premier à donner votre avis sur cette source.

Vue 22 125 fois - Téléchargée 4 364 fois

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

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
mercredi 2 avril 2008
Statut
Membre
Dernière intervention
27 septembre 2010

Merci bcp pour ce code, il est vraiment tres bien detaille...mais j'ai un soucis -lorsque je rajoute un produit ca me le rajoute , mais quand je veux ajouter un autre produit ca me le remplace par le produit deja rajoute.En gros je peux pas rajouter plus qu'un produit?Avez vous une idee a quoi c'est du?

voici le bout de code ou l'image ajoute le produit

<?php do {

$ref=$row_Recordset2['Reference'];
$label=$row_Recordset2['Description'];
$qt=$row_Recordset2['Quantite'];
$price=$row_Recordset2['Prix'];

....

<td width="65" height="35" padding="0" margin="0"> ','<?php echo $label ?>','<?php echo $qt ?>','<?php echo $price ?>');" onClick="deleteByRef('<?php echo $ref ?>');"/> </td>
Messages postés
34
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
25 août 2009

bonjour, comment on peut adapter ce code pour un autre truc , en faite sur mon ihm je veux quand j'affiche un rapport si il m'intéresse je veux pouvoir le sélectionné et l'ajouter a mon panier pour que à la fin je puisse télécharger seulement les rapport que j'ai sélectionnée
Messages postés
145
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
6 juin 2010

^^ bien sur qu'ils prennents une commission,
mais de tout ce que j'ai pu epucher comme doc a ce sujet il semblerait que ce soit le moins cher et le plus avantageux....

les banques te facture la mise en service du systeme, + un abonnement mensuel et un pourcentage sur tes ventes :-)
Messages postés
3
Date d'inscription
mardi 21 avril 2009
Statut
Membre
Dernière intervention
27 avril 2009

ok merci aquewel.
C'est un peu complexe leur truc à Paypal, mais il me semble que ça commence à fonctionner chez moi.
En plus ils prennent une commission sur les paiements, évidemment.
Messages postés
145
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
6 juin 2010

^^ t un cokin toi :-)

o moins avec cette exemple tu a le choix des deux

apres va sur paypal
https://www.paypal-france.fr/marchands/solutions-paiement/paypal-integral.php

ya plein de cochonneries sympas à lire à ce sujet.
Afficher les 30 commentaires

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.