Regroupement dans panier

Signaler
Messages postés
27
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
26 septembre 2013
-
Messages postés
27
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
26 septembre 2013
-
Bonjour,
Dans mon panier j'ajoute mes articles, jusque là pas de pb, mon panier fonctionne bien.
Mais chacun de ces articles est en fait la composante d'un seul article, ils ont donc la même référence.
En gros, quand je commande la référence A, 3 articles sont ajoutés au panier.
Je voudrais que mon affichage regroupe mes articles selon la référence de l'article fini.

Pour être plus claire :

J'ai :

Article 1 - Réf. A
Article 2 - Réf. A
Article 3 - Réf. A
Article 1 - Réf. B
Article 2 - Réf. B

Et je voudrais :

REF. A
Article 1 - Réf. A
Article 2 - Réf. A
Article 3 - Réf. A

REF. B
Article 1 - Réf. B
Article 2 - Réf. B

Mais je n'arrive pas à faire ce regroupement. Quelqu'un aurait une idée ?

Merci

2 réponses

Messages postés
27
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
26 septembre 2013

L'affichage de mon panier :

<?php
if (creationPanier())
{
$nbArticles= count($_SESSION['panier']['libelleProduit']);

if ($nbArticles <= 0)
echo "<tr><td align='center' style='border-left:0px solid #2D4D7F;border-bottom:0px solid #2D4D7F;border-right:0px solid #2D4D7F;border-top:0px solid #2D4D7F'> Votre panier est vide !
</ td></tr>";

else
{
echo "<tr height='20'>";
echo "<td width='47%' bgcolor='#C4D9EC' style='border-left:1px solid #2D4D7F;border-bottom:1px solid #2D4D7F;border-right:1px solid #2D4D7F;border-top:1px solid #2D4D7F'> Produit</ td>";
echo "<td width='16%' bgcolor='#C4D9EC' align='center' style='border-left:0px solid #2D4D7F;border-bottom:1px solid #2D4D7F;border-right:1px solid #2D4D7F;border-top:1px solid #2D4D7F'>Quantité</td>";
echo "<td width='16%' bgcolor='#C4D9EC' align='center' style='border-left:0px solid #2D4D7F;border-bottom:1px solid #2D4D7F;border-right:1px solid #2D4D7F;border-top:1px solid #2D4D7F'>Prix unitaire</td>";
echo "<td width='16%' bgcolor='#C4D9EC' align='center' style='border-left:0px solid #2D4D7F;border-bottom:1px solid #2D4D7F;border-right:1px solid #2D4D7F;border-top:1px solid #2D4D7F'>Total TTC</td>";
echo "<td width='5%' bgcolor='#CECECE' align='center' style='border-left:0px solid #2D4D7F;border-bottom:1px solid #2D4D7F;border-right:1px solid #2D4D7F;border-top:1px solid #2D4D7F' bgcolor='#CCCCCC'>X</td>";
echo "</tr>";


for ($i=0 ;$i < $nbArticles ; $i++)
{
?>

<script type="text/javascript">
function incInput(j,indice) {
var value = parseInt(document.getElementById('q'+indice).value, 10);
value += j;
document.getElementById('q'+indice).value = value;
}
</script>

<?php

echo "<tr height='30'>";
echo "<td align='left' style='border-left:1px solid #2D4D7F;border-bottom:1px solid #2D4D7F;border-right:1px solid #2D4D7F;border-top:0px solid #2D4D7F'> ".htmlspecialchars($_SESSION['panier']['libelle'][$i])."
Réf : ".htmlspecialchars($_SESSION['panier']['libelleProduit'][$i])."</ td>";
echo "<td align='center' style='border-left:0px solid #2D4D7F;border-bottom:1px solid #2D4D7F;border-right:1px solid #2D4D7F;border-top:0px solid #2D4D7F'>,
, ----

</td>";
echo "<td align='center' style='border-left:0px solid #2D4D7F;border-bottom:1px solid #2D4D7F;border-right:1px solid #2D4D7F;border-top:0px solid #2D4D7F'>".htmlspecialchars($_SESSION['panier']['prixProduit'][$i])." €</td>";
echo "<td align='center' style='border-left:0px solid #2D4D7F;border-bottom:1px solid #2D4D7F;border-right:1px solid #2D4D7F;border-top:0px solid #2D4D7F'>".htmlspecialchars($_SESSION['panier']['prixProduit'][$i]*$_SESSION['panier']['qteProduit'][$i])." €</td>";
echo "<td align='center' style='border-left:0px solid #2D4D7F;border-bottom:1px solid #2D4D7F;border-right:1px solid #2D4D7F;border-top:0px solid #2D4D7F'></td>";
echo "</tr>";

}

// DEBUT LIGNE TOTAL
echo "<tr height='25' ><td align='left' >Vider le panier</td>";
echo "<td align='center' style='border-left:0px solid #2D4D7F;border-bottom:0px solid #2D4D7F;border-right:1px solid #2D4D7F;border-top:0px solid #2D4D7F'>";
echo "";
echo "</td>";
echo "<td align='left' bgcolor='#C4D9EC' style='border-left:0px solid #2D4D7F;border-bottom:1px solid #2D4D7F;border-right:0px solid #2D4D7F;border-top:1px solid #2D4D7F'> TOTAL TTC </td>";
echo "<td bgcolor ='#C4D9EC' align= 'center' style='border-left:0px solid #2D4D7F;border-bottom:1px solid #2D4D7F;border-right:1px solid #2D4D7F;border-top:1px solid #2D4D7F'>";
echo "".MontantGlobal();
echo " €</td>";
echo "<td> </td></tr>";

// FIN LIGNE TOTAL


// DEBUT CALCUL REMISE

if (montantremise()<>0)
{

echo "<tr height='25' ><td align='left' ></td>";
echo "<td align='center' style='border-left:0px solid #2D4D7F;border-bottom:0px solid #2D4D7F;border-right:1px solid #2D4D7F;border-top:0px solid #2D4D7F'>";
echo "</td>";
echo "<td align='left' bgcolor='#ffffff' style='border-left:0px solid #2D4D7F;border-bottom:1px solid #2D4D7F;border-right:0px solid #2D4D7F;border-top:0px solid #2D4D7F'> REMISE ".pourcentage()." % </td>";
echo "<td bgcolor ='#ffffff' align= 'center' style='border-left:0px solid #2D4D7F;border-bottom:1px solid #2D4D7F;border-right:1px solid #2D4D7F;border-top:0px solid #2D4D7F'>";
echo "- ".montantremise();
echo " €</td>";
echo "<td> </td></tr>";
echo "<tr height='25' ><td align='left' ></td>";
echo "<td align='center' style='border-left:0px solid #2D4D7F;border-bottom:0px solid #2D4D7F;border-right:1px solid #2D4D7F;border-top:0px solid #2D4D7F'>";
echo "</td>";
echo "<td align='left' bgcolor='#C4D9EC' style='border-left:0px solid #2D4D7F;border-bottom:1px solid #2D4D7F;border-right:0px solid #2D4D7F;border-top:0px solid #2D4D7F'> TOTAL TTC </td>";
echo "<td bgcolor ='#C4D9EC' align='center' style='border-left:0px solid #2D4D7F;border-bottom:1px solid #2D4D7F;border-right:1px solid #2D4D7F;border-top:0px solid #2D4D7F'>";
echo "".totalavecremise();
echo " €</td>";
echo "<td> </td></tr>";
}
// FIN CALCUL REMISE

echo "<tr><td>";
echo "</td></tr>";

// DEBUT FORM CODE REMISE PARTENAIRE

echo "<tr><td colspan='5' align='right'>";
echo "</td></tr>";
echo "<tr height='20' ><td colspan='5' align='left' valign='middle' >";
echo "
\";
echo \"----
\";
echo\", \";
echo\"Vous avez un code partenaire ? Saisissez le ci-dessous :, \";
echo\", \";
echo\"\";
echo\"----
\";
echo\" ".coderemise(). ", \";
echo\"\";
echo"
";
echo "<tr><td colspan='5' align='left'>";
echo "</td></tr>";
echo "</td></tr>";
// FIN FORM CODE REMISE PARTENAIRE

}
}
?>

<?php } ?>
Messages postés
27
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
26 septembre 2013

Bon, j'ai fini par trouvé !
Voilà la solution, je ne sais pas si c'est la bonne, mais ça a le mérite de fonctionner :

//*****RECUPERATION REF UNIQUE*********
$ref = $_SESSION['panier']['ref'];
$ref=implode(', ',array_unique($ref));
$ref = explode (', ',$ref);


//***ON AFFICHE CHAQUE ARTICLE***
for($j=0; $j<count($ref); $j++)
{
On va chercher les articles dont la réf = $ref[$j]
}