Bug dans la rubrique nouveauté

3 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour. Sur ma boutique quand on clic sur la rubrique nouveauté, les nouveau article apparaissent en 2 ou 3 exemplaires.

Pourquoi ?

Ci dessous le code PHP

<?

include("../configuration.inc.php");

if (!isset($_GET['catid'])) { $catid = 0;} else {$catid = intval($_GET['catid']);}

$DOC_TITLE = "PEEL.FR";

include("$repertoire_modele/haut.php");

echo "<div class=\"entete\">".NEWS."</div>";

$nb = 30; //nombre d'enregistrement par page

if (!isset($_GET['start'])) {$start=0;} else {$start = intval($_REQUEST['start']);}

// R&eacute;cup&eacute;ration et affichage des donn&eacute;es

$sql = "SELECT p.id, p.reference, p.nom_".$_SESSION['langue'].", p.promotion, p.descriptif_".$_SESSION['langue']."

, p.image1, p.image2, p.prix, p.prix_revendeur, p.on_stock, p.points, p.on_special, pc.categorie_id

FROM peel_produits p, peel_produits_categories pc, peel_categories c

WHERE p.id = pc.produit_id AND pc.categorie_id = c.id AND p.on_new = '1' AND p.etat = '1'

ORDER BY p.prix LIMIT $start,$nb";

$result=mysql_query($sql) or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());

if (mysql_num_rows($result) == 0) {

echo "<div class=\"texte\">".NO_INDEX_PRODUCT."</div>";

} else {

echo "<table border=\"0\" cellpadding=\"1\" cellspacing=\"0\" width=\"100%\">";

$nb_cellules = mysql_num_rows($result);

$nb_colonnes = 3;

$j = 0;

while($prod=mysql_fetch_array($result))

{

if ( $j % $nb_colonnes == 0 ) {

echo "<tr>";

}

if($j % $nb_colonnes !=0 OR $j % $nb_colonnes == 0 ) {

echo "<td class=\"normal\" width=\"33%\">";

template_index_produit($prod['id'], $where = "AND p.on_new = '1'");

}

echo "</td>";

$j++;

if ( $j % $nb_colonnes == 0 OR $j == $nb_cellules ) {

echo "</tr>";

}

}

echo "<td align=\"center\" class=\"normal\" colspan=\"2\">";

//Boutons pr&eacute;c&eacute;dent et suivant

if($start)

{print("<a class=petit href=\"index.php?catid=".$catid."&start=".($start-$nb)."\">Page pr&eacute;c&eacute;dente</a>");}

$result=mysql_query("SELECT COUNT(*) FROM peel_produits p, peel_produits_categories pc WHERE p.id = pc.produit_id AND pc.categorie_id = $catid AND p.etat = 1");

$row=mysql_fetch_row($result);

if($row[0]>($start+$nb))

{

if($start)

{print(" / ");}

print("<a class=petit href=\"index.php?catid=".$catid."&start=".($start+$nb)."\">Page suivante</a>");

}

print("<br />");

//Affichage des pages

if($row[0]>$nb) {// le nombre d'enreg. est > au nb de lignes d'affichage ?

print("Page :&nbsp;");

for($index=0;($index*$nb)<$row[0];$index++) // oui alors on affiche les num&eacute;ros de pages

{

?>

<b><a class="petit" href="<?=$_SERVER['PHP_SELF']."?catid=".$catid."&start=".$index*$nb; ?>"><? echo $index+1; ?></a></b>

<?

}

}

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

}

include("$repertoire_modele/bas.php");

?>

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

remplace

// R&eacute;cup&eacute;ration et affichage des donn&eacute;es 

$sql = "SELECT p.id, p.reference, p.nom_".$_SESSION['langue'].", p.promotion, p.descriptif_".$_SESSION['langue']."

, p.image1, p.image2, p.prix, p.prix_revendeur, p.on_stock, p.points, p.on_special, pc.categorie_id 

FROM peel_produits p, peel_produits_categories pc, peel_categories c 

WHERE p.id = pc.produit_id AND pc.categorie_id = c.id AND p.on_new = '1' AND p.etat = '1' 

ORDER BY p.prix LIMIT $start,$nb";
par
// R&eacute;cup&eacute;ration et affichage des donn&eacute;es 

$sql = "SELECT p.id, p.reference, p.nom_".$_SESSION['langue'].", p.promotion, p.descriptif_".$_SESSION['langue']."

, p.image1, p.image2, p.prix, p.prix_revendeur, p.on_stock, p.points, p.on_special, pc.categorie_id 

FROM peel_produits p, peel_produits_categories pc, peel_categories c 

WHERE p.id = pc.produit_id AND pc.categorie_id = c.id AND p.on_new = '1' AND p.etat = '1' 

GROUP BY p.id ORDER BY p.prix LIMIT $start,$nb";

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Merci ca marche.

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping