begin process at 2008 07 25 12:29:31
1 216 188 membres
156 nouveaux aujourd'hui
14 180 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

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


Information sur la source

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 : 29 745

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (16)
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)
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 !
  • signaler à un administrateur
    Commentaire de lir le 29/07/2004 14:06:31

    C mieux avec un zip

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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.

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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!!

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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 ?

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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 !

  • signaler à un administrateur
    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

  • signaler à un administrateur
    Commentaire de DCO2 le 02/10/2005 10:19:56

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

  • signaler à un administrateur
    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

  • signaler à un administrateur
    Commentaire de hugolin69 le 17/11/2005 16:22:31

    Quelqun sen est sorti avec ces sources?

  • signaler à un administrateur
    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++

Ajouter un commentaire

Pub



Appels d'offres

Animation Flash alimen...
Budget : 6 000€
Creation portail video
Budget : 3 000€
Site de e-commerce
Budget : 5 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Boutique

Boutique de goodies CodeS-SourceS