begin process at 2012 02 11 15:21:11
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

E-Commerce

 > FONCTION CADDIE : AJOUTER/MODIFIER/SUPPRIMER DES ÉLÉMENTS

FONCTION CADDIE : AJOUTER/MODIFIER/SUPPRIMER DES ÉLÉMENTS


 Information sur la source

Note :
5 / 10 - par 6 personnes
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :E-Commerce Classé sous :caddie, panier, commerce, array, boutique Niveau :Initié Date de création :24/06/2004 Date de mise à jour :12/03/2008 20:36:14 Vu :44 230

Auteur : rob85

Ecrire un message privé
Commentaire sur cette source (21)
Ajouter un commentaire et/ou une note

 Description

Un caddie est un espèce de 'panier' dans lequel ont peut soit ajouter un produit, modificer la quantité de ce produit ou bien supprmier ce produit. Je sais qu'un script de ce genre éxiste déja mais j'ai essayé de l'utiliser et il ne fonctionnait pas. Alors j'ai codé un caddie moi-même qui fonctionne parfaitement. Le principe est toujours le même, on stockes les produits ainsi que leurs quantités respectives dans un tableau (array) et qui à son tour est stocké dans une variable de session.

Le tout est composé de 3 fichier qui servent à ajouter un produits(caddie_add.php), modifier une quantité(caddie_update.php) et supprimer un produit(caddie_del.php).

Source

  • <?php
  • // caddie_add.php... sert à ajouter un produit...
  • session_start();
  • if(isset($_GET['prod']) && isset($_GET['qtte']))
  • {
  • // si on a spécifié un produit anisi qu'une quantité :
  • // on vérifie si un panier existe déja...
  • if(session_is_registered('panier') && is_array($panier))
  • {
  • // si le panier existe déja...
  • $nbprod = count($panier);
  • // on compte le nombre d'éléments dans le panier...
  • for($i=0;$i<$nbprod;$i++)
  • {
  • // on fait une boucle qui va passer en revue chaque produit du panier
  • // pour voir si le produit que l'on veut rajouter existe déja
  • if($panier[$i]['prod'] == $_GET['prod'])
  • {
  • // le produit existe...
  • $prodin = "true";
  • // inscrit dans une variable que le produit existe...
  • $prodline = $i;
  • // et on précise aussi quel est son emplacment dans le caddie
  • }
  • }
  • if(isset($prodin) && $prodin == "true")
  • {
  • // si le produit existe déja...
  • // ...la quantité précédente est effacée...
  • array_splice($panier,$prodline,1);
  • // ...pour laisser place à celle qui le client vient de rajouter...
  • array_push($panier,array("prod" => $_GET['prod'],"qtte" => $_GET['qtte']));
  • }
  • else
  • {
  • // sinon on rajoute le produit dans le panier tt simplement...
  • array_push($panier,array("prod" => $_GET['prod'],"qtte" => $_GET['qtte']));
  • }
  • header("Location: prof_commandes.php");
  • // on peut faire une redirection vers une page qui va faire la liste de tous les produits...
  • }
  • else
  • {
  • // si le panier n'existe pas...
  • session_register('panier');
  • // on le créer...
  • $panier = array ();
  • // on rajoute le produit et la quantité...
  • array_push($panier,array("prod" => $_GET['prod'],"qtte" => $_GET['qtte']));
  • // le panier à été crée...
  • header("Location: caddie_list.php");
  • // on peut faire une redirection vers une page qui va faire la liste de tous les produits...
  • }
  • }
  • else
  • {
  • // les variable prod et qtte n'existent pas...
  • header("Location: caddie_list.php");
  • }
  • ?>
  • ####################
  • <?php
  • // panier_update.php... ...sert à modifier la quantité d'un produit...
  • session_start();
  • if(isset($_GET['prod']) && isset($_GET['qtte']))
  • {
  • // on vérifie qu'un produit et une 'nouvelle' quantité ont été spécifés...
  • // si oui,
  • if($_GET['qtte'] != 0)
  • {
  • // si la 'nouvelle' quantité est différente de zéro....
  • $nbprod = count($panier);
  • for($i=0;$i<$nbprod;$i++)
  • {
  • // on fait une boucle qui passe en revue chaque élément du panier...
  • if ($panier[$i]['prod'] == $_GET['prod'])
  • {
  • // lorsque l'on tombe sur le produit à modifier,
  • // on donne la valeur de la 'nouvelle' quantité à la quantité du produit dan sle panier...
  • $panier[$i] = array("prod" => $_GET['prod'],"qtte" => $_GET['qtte']);
  • }
  • }
  • }
  • else
  • {
  • // si la 'nouvelle' quantité est égale à 0, ca revient au même que de supprimer...
  • $nbprod = count($panier);
  • for($i=0;$i<$nbprod;$i++)
  • {
  • // on fait une boucle qui passe en rebue tout le panier...
  • if($panier[$i]['prod'] == $_GET['prod'])
  • {
  • // dès qu'on tombe sur la valeur à 'modifier'(ici en l'occurence il s'agit de supprmier ..)
  • array_splice($panier,$i,1);
  • }
  • }
  • }
  • header("Location: caddie_list.php");
  • // on redirige le client vers une page avec la liste de produits...
  • }
  • ?>
  • ############################
  • <?php
  • // caddie_del.php... ...sert à supprimer un élément du caddie...
  • session_start();
  • if(isset($_GET['prod']))
  • {
  • // si un produit ets spécifié.;;
  • $nbprod = count($panier);
  • for($i=0;$i<$nbprod;$i++)
  • {
  • // on fait une boucle qui parcours le panier...
  • if($panier[$i]['prod'] == $_GET['prod'])
  • {
  • // une fois arrivé au produit voulu, on le supprime...
  • array_splice($panier,$i,1);
  • }
  • }
  • header("Location: caddie_list.php");
  • // on redirige le client vers une page qui liste les produits & les quantités...
  • }
  • ?>
  • ############################
  • // caddie_list.php ...sert à lister les produits du caddie
  • if(session_is_registered('panier'))
  • {
  • if(is_array($panier))
  • {
  • $nbart = count($panier);
  • if($nbart == 0)
  • {
  • echo "Votre panier est vide.<br>\n";
  • }
  • else
  • {
  • echo "Il y a des articles dans votre panier.<br><br>\n";
  • echo "<table width=\"90%\" cellpadding=\"3\" align=\"center\" border=\"0\" cellspacing=\"0\"><tr bgcolor=\"#AE888C\"><td height=\"23\" align=\"center\" class=normalprof height=\"37\"><strong><font color=\"#FFFFFF\">Marques</font></strong></td><td align=\"center\" class=normalprof><strong><font color=\"#FFFFFF\">Nom du produit</font></strong></td><td align=\"center\" class=normalprof><strong><font color=\"#FFFFFF\">Quantité</font></strong></td><td align=\"center\" class=normalprof><strong><font color=\"#FFFFFF\">Modification</font></strong></td></tr>";
  • for($i=0;$i<$nbart;$i++)
  • {
  • if(is_array($panier[$i]))
  • {
  • mysql_select_db($database_mysql_connect,$mysql_connect) or die(mysql_error());
  • $getprodinfo = mysql_query("SELECT idproduit, marque, nom, prix, promoexiste, promotype, promored, promodatedebut, promodatefin FROM produits_tbl WHERE idproduit = '".$panier[$i]['prod']."'", $mysql_connect) or die(mysql_error());
  • while($row_getprodinfo = mysql_fetch_array($getprodinfo,MYSQL_ASSOC))
  • {
  • $getmarque = mysql_query("SELECT marque FROM idmarques_tbl WHERE idmarque = '".$row_getprodinfo['marque']."'");
  • $row_getmarque = mysql_fetch_assoc($getmarque);
  • echo "<tr bgcolor=\"#FFFFFF\"><td align=\"center\" style=\"BORDER-BOTTOM: #AE888C 1px solid ; BORDER-LEFT: #AE888C 1px solid\" height=\"23\" class=normalprof>\n";
  • echo "<form name=\"panier_update_form".$i."\" method=\"get\" action=\"prof_panier_update.php\">\n";
  • echo $row_getmarque['marque']."</td><td align=\"center\" style=\"BORDER-BOTTOM: #AE888C 1px solid\" class=normalprof>".$row_getprodinfo['nom']."</td><td align=\"center\" style=\"BORDER-BOTTOM: #AE888C 1px solid\" class=normalprof> <input type=\"hidden\" name=\"prod\" value=\"".$panier[$i]['prod']."\">\n<input type=\"text\" size=\"2\" name=\"qtte\" value=\"".$panier[$i]['qtte']."\"> </td><td style=\"BORDER-BOTTOM: #AE888C 1px solid ; BORDER-RIGHT: #AE888C 1px solid\" class=normalprof align=\"center\" valign=\"bottom\"><a href=\"prof_panier_del.php?prod=".$panier[$i]['prod']."\">Retirer</a> || <a href=\"javascript:document.panier_update_form".$i.".submit()\">Modifier</a></form>\n</td></tr>";
  • echo "</td></tr>";
  • }
  • }
  • }
  • mysql_free_result($getprodinfo);
  • echo "</table>";
  • }
  • echo "<div align=\"center\"><a href=\"prof_commandes_confirm.php\"><strong>Valider le panier</strong></a></div>";
  • echo "<br><a href=\"prof_panier_clear.php\">Supprimer tous les produits du panier</a>";
  • }
  • else
  • {
  • echo "Votre panier est vide.<br>\n";
  • }
  • }
  • else
  • {
  • echo "Votre panier est vide.<br>\n";
  • }
  • if(session_is_registered('continueachat'))
  • {
  • printf("<a href=\"%s\"Voir le dernier produit ajouté au caddie </a>",$continueachat);
  • }
  • else
  • {
  • echo "<br><a href=\"prof_marques.php\">? Nos marques</a><br><a href=\"prof_produits.php\">? Nos produits</a>";
  • }
<?php
// caddie_add.php... sert à ajouter un produit...
session_start();
if(isset($_GET['prod']) && isset($_GET['qtte']))
{
	// si on a spécifié un produit anisi qu'une quantité :
	// on vérifie si un panier existe déja...
	
	if(session_is_registered('panier') && is_array($panier))
	{
		
		// si le panier existe déja...
		$nbprod = count($panier);
		// on compte le nombre d'éléments dans le panier...
		for($i=0;$i<$nbprod;$i++)
		{
			// on fait une boucle qui va passer en revue chaque produit du panier
			// pour voir si le produit que l'on veut rajouter existe déja
			if($panier[$i]['prod'] == $_GET['prod'])
			{
				// le produit existe...
				$prodin = "true";
				// inscrit dans une variable que le produit existe...
				$prodline = $i;
				// et on précise aussi quel est son emplacment dans le caddie
			}
		}
		if(isset($prodin) && $prodin == "true")
		{
			// si le produit existe déja...
			// ...la quantité précédente est effacée...
			array_splice($panier,$prodline,1);
			// ...pour laisser place à celle qui le client vient de rajouter...
			array_push($panier,array("prod" => $_GET['prod'],"qtte" => $_GET['qtte']));
		}
		else
		{
			// sinon on rajoute le produit dans le panier tt simplement...
			array_push($panier,array("prod" => $_GET['prod'],"qtte" => $_GET['qtte']));
		}	
		header("Location: prof_commandes.php");
		// on peut faire une redirection vers une page qui va faire la liste de tous les produits...
	}
	else
	{
		// si le panier n'existe pas...
		session_register('panier');
		// on le créer...
		$panier = array ();
		// on rajoute le produit et la quantité...
		array_push($panier,array("prod" => $_GET['prod'],"qtte" => $_GET['qtte']));
		// le panier à été crée...
		header("Location: caddie_list.php");
		// on peut faire une redirection vers une page qui va faire la liste de tous les produits...
	}
}
else
{
	// les variable prod et qtte n'existent pas...
	header("Location: caddie_list.php");
}
?>
####################
<?php
// panier_update.php... ...sert à modifier la quantité d'un produit...
session_start();

if(isset($_GET['prod']) && isset($_GET['qtte']))
{
	// on vérifie qu'un produit et une 'nouvelle' quantité ont été spécifés...
	// si oui,
	if($_GET['qtte'] != 0)
	{
	// si la 'nouvelle' quantité est différente de zéro....
		$nbprod = count($panier);
		for($i=0;$i<$nbprod;$i++)
		{
		// on fait une boucle qui passe en revue chaque élément du panier...
			if ($panier[$i]['prod'] == $_GET['prod'])
			{
				// lorsque l'on tombe sur le produit à modifier,
				// on donne la valeur de la 'nouvelle' quantité à la quantité du produit dan sle panier...
				$panier[$i] = array("prod" => $_GET['prod'],"qtte" => $_GET['qtte']);
			}
		}
	}
	else
	{
		// si la 'nouvelle' quantité est égale à 0, ca revient au même que de supprimer...
		$nbprod = count($panier);
		for($i=0;$i<$nbprod;$i++)
		{
			// on fait une boucle qui passe en rebue tout le panier...
			if($panier[$i]['prod'] == $_GET['prod'])
			{
				// dès qu'on tombe sur la valeur à 'modifier'(ici en l'occurence il s'agit de supprmier ..)
				array_splice($panier,$i,1);
			}
		}
	}
	header("Location: caddie_list.php");
	// on redirige le client vers une page avec la liste de produits...
}
?>
############################
<?php
// caddie_del.php... ...sert à supprimer un élément du caddie...
session_start();

if(isset($_GET['prod']))
{
	// si un produit ets spécifié.;;
	$nbprod = count($panier);
	for($i=0;$i<$nbprod;$i++)
	{
		// on fait une boucle qui parcours le panier...
		if($panier[$i]['prod'] == $_GET['prod'])
		{
			// une fois arrivé au produit voulu, on le supprime...
			array_splice($panier,$i,1);
		}
	}
	header("Location: caddie_list.php");
	// on redirige le client vers une page qui liste les produits & les quantités...
}
?>
############################
// caddie_list.php ...sert à lister les produits du caddie
	if(session_is_registered('panier'))
	{
		if(is_array($panier))
		{
			$nbart = count($panier);
			if($nbart == 0)
			{
				echo "Votre panier est vide.<br>\n";
			}
			else
			{
				echo "Il y a des articles dans votre panier.<br><br>\n";
				echo "<table width=\"90%\" cellpadding=\"3\" align=\"center\" border=\"0\" cellspacing=\"0\"><tr bgcolor=\"#AE888C\"><td height=\"23\" align=\"center\" class=normalprof height=\"37\"><strong><font color=\"#FFFFFF\">Marques</font></strong></td><td align=\"center\" class=normalprof><strong><font color=\"#FFFFFF\">Nom du produit</font></strong></td><td align=\"center\" class=normalprof><strong><font color=\"#FFFFFF\">Quantité</font></strong></td><td align=\"center\" class=normalprof><strong><font color=\"#FFFFFF\">Modification</font></strong></td></tr>";
				for($i=0;$i<$nbart;$i++)
				{
					if(is_array($panier[$i]))
					{
						mysql_select_db($database_mysql_connect,$mysql_connect) or die(mysql_error());
						$getprodinfo = mysql_query("SELECT idproduit, marque, nom, prix, promoexiste, promotype, promored, promodatedebut, promodatefin FROM produits_tbl WHERE idproduit = '".$panier[$i]['prod']."'", $mysql_connect) or die(mysql_error());
						while($row_getprodinfo = mysql_fetch_array($getprodinfo,MYSQL_ASSOC))
						{
							$getmarque = mysql_query("SELECT marque FROM idmarques_tbl WHERE idmarque = '".$row_getprodinfo['marque']."'");
							$row_getmarque = mysql_fetch_assoc($getmarque);
							echo "<tr bgcolor=\"#FFFFFF\"><td align=\"center\" style=\"BORDER-BOTTOM: #AE888C 1px solid ; BORDER-LEFT: #AE888C 1px solid\" height=\"23\" class=normalprof>\n";
							echo "<form name=\"panier_update_form".$i."\" method=\"get\" action=\"prof_panier_update.php\">\n";
							echo $row_getmarque['marque']."</td><td align=\"center\" style=\"BORDER-BOTTOM: #AE888C 1px solid\" class=normalprof>".$row_getprodinfo['nom']."</td><td align=\"center\" style=\"BORDER-BOTTOM: #AE888C 1px solid\" class=normalprof> <input type=\"hidden\" name=\"prod\" value=\"".$panier[$i]['prod']."\">\n<input type=\"text\" size=\"2\" name=\"qtte\" value=\"".$panier[$i]['qtte']."\">  </td><td style=\"BORDER-BOTTOM: #AE888C 1px solid ; BORDER-RIGHT: #AE888C 1px solid\" class=normalprof align=\"center\" valign=\"bottom\"><a href=\"prof_panier_del.php?prod=".$panier[$i]['prod']."\">Retirer</a> || <a href=\"javascript:document.panier_update_form".$i.".submit()\">Modifier</a></form>\n</td></tr>";
							echo "</td></tr>";
						}					
					}
				}
				mysql_free_result($getprodinfo);
				echo "</table>";
			}
			echo "<div align=\"center\"><a href=\"prof_commandes_confirm.php\"><strong>Valider le panier</strong></a></div>";
			echo "<br><a href=\"prof_panier_clear.php\">Supprimer tous les produits du panier</a>";
		}
		else
		{
			echo "Votre panier est vide.<br>\n";
		}
	}
	else
	{
		echo "Votre panier est vide.<br>\n";
	}
	if(session_is_registered('continueachat'))
	{
		printf("<a href=\"%s\"Voir le dernier produit ajouté au caddie </a>",$continueachat);
	}
	else
	{
		echo "<br><a href=\"prof_marques.php\">? Nos marques</a><br><a href=\"prof_produits.php\">? Nos produits</a>";
	}

 Conclusion

Voilà...
J'avoue c'est un peu le bordel mais c'est la première que je poste :p:p
Il manque une page, c'est la page qui permet de lister les produits... je vais la mettre dès que j'ai le temps (d'ici 1-2 jours)...

Sinon ben il y a pas vrmt de bugs connus, ce script est utilisé sur un site ou les clients sont demandé de se 'logguer' pour pouvoir ajouter/modifier/supprimer des éléments du panier....

Il y a aussi quelques petites fonction relatives aux session que je vais arranger (pe session_register(), sess_is_registered()....etc..).
Je tiens à préciser que j'ai dévolppé ce script avec une configuration de php ou 'register_globals' était à 'on'...

Et une fois que j'aurai rajouté la 4eme page qui permet de lister le contenu du panier, je ferai un petit zip qui contiendra ces quatres fichier.

Voilà !

Rob.
(24/06-2004)

PS: commentaires, questions, remarques, n'hésitez pas !

----

Voila j'ai rajouté le 4eme et dernier script...Le quatrieme script parcours le tableua qui contient les ID produits et les QTT (quantité) de produits et va chercher les description prix etc.. des produits correspondant dans une base données.

@+

Rob.
(26/08/2006)


 Historique

26 août 2006 13:24:16 :
26 aout 2006 => mise ajour et ajout du 4eme script !!! dslé pour le temps que ca a pris mais je pensais les avoir perdus !! je sais pas si je pourrai vous aider car je n'ai vraiment pas beaucoup le temps..
26 août 2006 13:25:19 :
26 aout 2006 => mise ajour et ajout du 4eme script !!! dslé pour le temps que ca a pris mais je pensais les avoir perdus !! je sais pas si je pourrai vous aider car je n'ai vraiment pas beaucoup le temps..
26 août 2006 13:31:27 :
details, pas tres important !
12 mars 2008 20:36:14 :
Mise à jour de la conclusion, en effet, je ne fait plus de "SAV" pour cette source !

 Sources du même auteur

CRYPTOPLUS!

 Sources de la même categorie

Source avec Zip PAYPAL CMS V1 par mkfreedown
Source avec une capture PHPDEAL APPLICATION DE GESTION D'ENCHÈRES ON-LINE. par Racemul84
Source avec Zip Source avec une capture PANEL PHP/AJAX par mehdi7604
Source avec Zip Source avec une capture FACTURATION EN PHP par liptibilly
Source avec Zip Source avec une capture GIVE ONE. GET TWO. LOGICIEL DE TRADING LIBRE GAGNANT GAGNANT... par Gya

 Sources en rapport avec celle ci

PARCOURS DE TABLEAU À L'AIDE D'ATTRIBUTS HTML "NAME par choy
Source avec Zip EXÉCUTER DES REQUETE STYLE SQL SUR UN ARRAY par prince418
Source avec Zip Source avec une capture PANEL PHP/AJAX par mehdi7604
Source avec Zip CLASS PANIER CADDIE par Steph666
PANIER : AJOUT/SUPPRESSION DE PRODUIT DANS UN CADDIE VIRTUEL par CString

Commentaires et avis

Commentaire de lir le 29/07/2004 14:06:31

C mieux avec un zip

Commentaire de Alf3001 le 28/08/2004 00:52:50

Salut,
code intéressant et très clair.
Pour tes développements futurs de ce code, pense également à l'ajout multiple de produits (plusieurs produits et plusieurs qte en une fois).
Egalement, ajoute d'autres paramatres comme par exemple un prod avec un id mais disposant de plusieurs couleurs......
Enfin, les fichiers update et delete seraient mieux s'ils étaient intégrés au code du panier avec éventuellement un rafraichissement par javascript car lorsque tu passes en paiement sécurisé, il est préférable d'avoir une seule page pour le traitement du panier.

Voila c'est juste quelques petites remarques sans prétention de donner une quelconque leçon. Ton code est très bien et super clair, mais ayant l'habitude de fabriquer des panier je te livre ici les "difficultés" auxquelles j'ai été confronté lors de mes développement.

Bravo
Alf

Commentaire de Gille59 le 20/09/2004 17:57:18

Bonjour
Je voudrais faire une petite "boutique en ligne"
rob85 tu présente trois scripts pour faire un panier, s'est bien ! mais moi qui suis novice, comment faire qu'en cliquant sur un article, ça aille dans le panier ? Voir le panier etc. Quel lien ou qu'est qu'il faut faire ?

logcimaison@hotmail.com

MERCI
Cordialement

Commentaire de punkstory le 05/10/2004 17:09:18

Bonjour,

Je ne comprend pas comment activer tt ce system. Dans les scripts il y a des nom de pages php. une list et une commande : que mettre dedans ? La premiere page, celle qui permet de mettre tt en place : comment la creer ? ou est elle?

Ya pas besoin de base de donnée MySql?

merci

Commentaire de hargonix le 11/11/2004 16:06:13

salut,

ton systeme de caddies est bien mais j'aeimerai savoir si tu a mis la 4ème page qui manque merci.

Commentaire de jofer le 15/11/2004 00:54:47

Salut
Je voudrais faire une petite "boutique en ligne"
rob85 tu présente trois scripts pour faire un panier, s'est bien ! mais moi qui suis novice, comment faire qu'en cliquant sur un article, ça aille dans le panier ? Voir le panier etc. Quel lien ou qu'est qu'il faut faire ?

Jofer.1@caramail.com

Commentaire de lineb76 le 21/12/2004 17:45:07

Je serais moi aussi intéressé par ce 4eme script qui manque et qui pourtant serait bien utile!!

Commentaire de micholi le 09/01/2005 20:04:36

Je suis novice en PHP mais je crois avoir enfin trouvé la solution pas trop compliqué pour la gestion de mon caddie.  Par contre, il me serait utile d'obtenir le 4e script qui permet de lister le contenu du panier.

Merci

Commentaire de makyoto le 27/01/2005 13:40:51

juste un pti conseil:
les commentaires inutiles tuent le code !
mais c cool qd même pour les nB :p
a qd un panier en php orienté objet ?

Commentaire de stepibou le 04/04/2005 15:52:33

Bonjour
Je voudrais faire une petite "boutique en ligne"
rob85 tu présente trois scripts pour faire un panier, s'est bien ! mais moi qui suis novice, comment faire qu'en cliquant sur un article, ça aille dans le panier ? Voir le panier etc. Quel lien ou qu'est qu'il faut faire ?
Bonjour,

Je ne comprend pas comment activer tt ce system. Dans les scripts il y a des nom de pages php. une list et une commande : que mettre dedans ? La premiere page, celle qui permet de mettre tt en place : comment la creer ? ou est elle?
Je serais moi aussi intéressé par ce 4eme script qui manque et qui pourtant serait bien utile!!
Je suis novice en PHP mais je crois avoir enfin trouvé la solution pas trop compliqué pour la gestion de mon caddie.  Par contre, il me serait utile d'obtenir le 4e script qui permet de lister le contenu du panier.

Merci

Commentaire de rob85 le 02/07/2005 14:11:27

Bonjour tout le monde, je m'excuse pour le retard que j'ai pris avant de vous contacter mais j'ai vraiment pas eu beaucoup de temps !

Enfin bref, pour lister les produits du panier, voilà comment on fait :
Tout d'abord, il faut savoir que le panier qui est en fait un "array" ne stocke que deux séries de chiffres, une série sert à donner l' ID du produit et l'autre série stocke la QUANTITé des produits.
En gros ca donne ca :

    ++++++++++++++++++++++
ID  05 | 09 | 18 | 98 | 52
    ++++++++++++++++++++++
QTT  3 | 10 |  1 |  9 |  4
    ++++++++++++++++++++++

Je sais pas si ce schéma peut vous aider à comprendre le fonctionnement du panier en soi;
maintenant, le listing des élément du panier n'est pas compliké, la ou ca se complique, c'est quand il faut mettre ce listage en relation avec une Base de donnée (mysql par ex).
C'est cette partie qui es la plus chiante dan sle listage du panier...

Pour simplifier, je vais me contenter de vosu donner le code que j'ai fait, avec les requete MySQL et tout afin que vous puissiez voir comment ca marche...

CODE :::>

<?php
if(session_is_registered('sess_idclient'))
{
if(session_is_registered('panier'))
{
if(is_array($panier))
{
$nbart = count($panier);
if($nbart == 0)
{
echo "Votre panier est vide.<br>\n";
}
else
{
echo "Il y a des articles dans votre panier.<br><br>\n";
echo "<table width=\"90%\" cellpadding=\"3\" align=\"center\" border=\"0\" cellspacing=\"0\"><tr bgcolor=\"#AE888C\"><td height=\"23\" align=\"center\" class=normalprof height=\"37\"><strong><font color=\"#FFFFFF\">Marques</font></strong></td><td align=\"center\" class=normalprof><strong><font color=\"#FFFFFF\">Nom du produit</font></strong></td><td align=\"center\" class=normalprof><strong><font color=\"#FFFFFF\">Quantit&eacute;</font></strong></td><td align=\"center\" class=normalprof><strong><font color=\"#FFFFFF\">Modification</font></strong></td></tr>";
for($i=0;$i<$nbart;$i++)
{
if(is_array($panier[$i]))
{
mysql_select_db($database_mysql_connect,$mysql_connect) or die(mysql_error());
$getprodinfo = mysql_query("SELECT idproduit, marque, nom, prix, promoexiste, promotype, promored, promodatedebut, promodatefin FROM produits_tbl WHERE idproduit = '".$panier[$i]['prod']."'", $mysql_connect) or die(mysql_error());
while($row_getprodinfo = mysql_fetch_array($getprodinfo,MYSQL_ASSOC))
{
$getmarque = mysql_query("SELECT marque FROM idmarques_tbl WHERE idmarque = '".$row_getprodinfo['marque']."'");
$row_getmarque = mysql_fetch_assoc($getmarque);
echo "<tr bgcolor=\"#FFFFFF\"><td align=\"center\" style=\"BORDER-BOTTOM: #AE888C 1px solid ; BORDER-LEFT: #AE888C 1px solid\" height=\"23\" class=normalprof>\n";
echo "<form name=\"panier_update_form".$i."\" method=\"get\" action=\"prof_panier_update.php\">\n";
echo $row_getmarque['marque']."</td><td align=\"center\" style=\"BORDER-BOTTOM: #AE888C 1px solid\" class=normalprof>".$row_getprodinfo['nom']."</td><td align=\"center\" style=\"BORDER-BOTTOM: #AE888C 1px solid\" class=normalprof> <input type=\"hidden\" name=\"prod\" value=\"".$panier[$i]['prod']."\">\n<input type=\"text\" size=\"2\" name=\"qtte\" value=\"".$panier[$i]['qtte']."\">  </td><td style=\"BORDER-BOTTOM: #AE888C 1px solid ; BORDER-RIGHT: #AE888C 1px solid\" class=normalprof align=\"center\" valign=\"bottom\"><a href=\"prof_panier_del.php?prod=".$panier[$i]['prod']."\">Retirer</a> || <a href=\"javascript:document.panier_update_form".$i.".submit()\">Modifier</a></form>\n</td></tr>";
echo "</td></tr>";
}
}
}
mysql_free_result($getprodinfo);
echo "</table>";
}
echo "<div align=\"center\"><a href=\"prof_commandes_confirm.php\"><strong>Valider le panier</strong></a></div>";
echo "<br><a href=\"prof_panier_clear.php\">Supprimer tous les produits du panier</a>";
}
else
{
echo "Votre panier est vide.<br>\n";
}
}
else
{
echo "Votre panier est vide.<br>\n";
}
if(session_is_registered('continueachat'))
{
printf("<a href=\"%s\"Voir le dernier produit ajouté au caddie </a>",$continueachat);
}
else
{
echo "<br><a href=\"prof_marques.php\">&#8226; Nos marques</a><br><a href=\"prof_produits.php\">&#8226; Nos produits</a>";
}
}
else
{
include("prof_loginform.php");
}
?>
#####
Voilà, je sais que c lourd de ma part mais comprenez que je ne sais pas comment vous expliker ce listage sans ce code...

Maintenant, si vosu avez des kestions ou koi ke ce soit,
n'hésitez pas à me contacvter via msn birdhouse667@hotmail.com ou via mail roberto.rosen@gmail.com

voilà !
bon courage !

Commentaire de rob85 le 02/07/2005 14:17:27

Sinon jcompte travailler ces vacances sur une classe caddie et qui fé tout de A à Z...
jvous tient o courant cette fois, promis !

@+
rob

Commentaire de DCO2 le 02/10/2005 10:19:56

Bonjour,
A quand le fichier Zip contenant les quatres fichiers?

Commentaire de dany 69007 le 18/10/2005 11:05:13

c'est un peu la zone ces fichiers !
moi je suis novice débutant et j'y comprend rien !
y a qq qui peux m'aider ?
dany

Commentaire de hugolin69 le 17/11/2005 16:22:31

Quelqun sen est sorti avec ces sources?

Commentaire de andre73100 le 10/01/2007 01:22:33

Slt gars! Je ne trouve pas ton zip pour le télécharger, car je travail sur un panier, et je voulais m'inspirer de ton travail! A++

Commentaire de mnizet le 27/02/2009 15:02:48

Pas compliqué, copie-colle la source dans des fichiers php aux noms spécifiés dans la source, mis dans le même dossier dans le répertoire www de ton serveur.
C'est 1-peu + long qu'1 zip, mais au moins, on sait ce qu'il y-a dans les fichiers PHP.
!"Essayez un-peu de savoir ce qu'il y-a dans votre code au lieu de faire bêtement un copier-collé du zip décompressé, ça vous évitera de tester n'importe quoi"!

Commentaire de mnizet le 27/02/2009 16:20:33

http://localhost/essais/caddie_add.php?prod=produi1&qtte=1
devrait me renvoyer la liste des produits, soit produit1=1.
Pourquoi ça me renvoie:
"Votre panier est vide.

? Nos marques
? Nos produits"
Une explication?

Commentaire de mnizet le 27/02/2009 16:29:00

http://localhost/essais/panier_update.php?prod=produi1&qtte=1
renvoie:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Program Files\OCS Inventory NG\xampp\htdocs\essais\panier_update.php:1) in C:\Program Files\OCS Inventory NG\xampp\htdocs\essais\panier_update.php on line 3

Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\OCS Inventory NG\xampp\htdocs\essais\panier_update.php:1) in C:\Program Files\OCS Inventory NG\xampp\htdocs\essais\panier_update.php on line 38

Faites attention, quand vous postez un code pourri, ça fera gagner du temps aux gens qui ne veulent pas en perdre!

Commentaire de tanjona78990 le 05/10/2010 14:34:06

Je trouve ton code très clair ! ... et je vais m'en servir sur mon site.
En effet, la plupart des codes de panier du site sont des classes hors, je n'en comprends pas encore l'utilisation...
Merci beaucoup et continue !

A+ Tanjona

Commentaire de sbso le 05/06/2011 23:53:26

Il serait judicieux de réécrire le code avec les vraies liens php :

prof_panier_update.php
prof_panier_del.php
prof_panier_clear.php
prof_commandes_confirm.php
prof_marques.php
prof_produits.php

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

actualisation du caddie ? [ par etudianto ] Bonjour,J'ai un petit script de type caddie avec envoie des données par url vers la page panier?php.Le code du lien est le suivant :&lt;a href="panier probleme de suppression d'article dans un caddie [ par oceane751 ] bonjour, je suis en train de creer un caddie virtuel et j'ai un petit probleme au niveau de la suppression d'article dans ce caddie voici le code qui comment faire un caddie ou panier [ par ambre44 ] bonjour,j'ai cr&#233;er un site de vente de perles je suis immatricule et j'ai un bon de commande et j'aimerais avoir une fonction pour mettre dans un E-commerce et n° de commande [ par murrigane ] Bonjour,Je suis en train de developper une boutique en ligne, tout mon processus est mis en place et jusqu'&#224; la validation de la commade tout est générer un caddie [ par olivier59263 ] BonjourN'étant un pro de la programmation, j'aimerais avoir un peu d'aide pour générer un caddie.Comment fait-on "simplement" pour ajouter un produit probleme d'array (panier) [ par lyoan ] Bonjour à tous, Je viens de commencer la création d'un panier et j'avoue rencontrer quelques problèmes. Voici mon code, dites moi si vous voyez des ch Erreur sur un array dans une class [ par zemele ] Bonjour, Je viens d'installer mon site le serveur (dev local sous MAMP), et voilà que ma class ne fonctionne plus... Voici le message d'errer : "Ca panier session [ par chevaliero ] Bonjour &#224; tous,J'ai r&#233;alis&#233; un carnet (caddie) de voyage pour r&#233;cuperer 2 informations : ID - NOM.Cela fonctionne impeccable en lo panier et gestion couleurs [ par titeuf974 ] Bonjour!Voila, actuellement je d&#233;velloppe un panier en php utilisant les sessions. Ce dernier fonctionne tr&#232;s bien. Ajout, suppression, modi Variable de session qui disparait [ par ov3rdoze ] Bonjour à tous.Je souhaiterais ajouter un système de panier sur un site. J'ai donc fait une classe panier aui à priori fonctionne.A l'arrivée sur le s


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,136 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales