Pb pagination dans achat/index.php

12 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour,

Malgré mes recherches sur le forum, je n'ai pas trouvé une réponse à ma question.

Mon pb est l'affichage des articles dans mon site. je m'explique (dans achat/index.php)

Dans une catégories, j'ai par exemple 37 articles. Au lieu d'en afficher 10 par pages, tout est affiché sur la même page et en bas il ya page précedente ou suivante avec 1 - 2 - 3 - 4 . Si on clique sur page 2 les mêmes 37 articles apparaissent puis page 3 idem . j'ai vérifié $nb = 10. Je ne comprends pas.

Merci d'avance pour votre aide

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

peux tu nous faire voir le code qui gère l'affichage des pages (en bas de page de achat/index.php) ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

peux tu nous faire voir le code qui gère l'affichage des pages (en bas de page de achat/index.php) ?

Le voilà :

//Affichage des pages

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

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

{

?>

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

<?php

}

}

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

}

Merci d'avance

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

ok merci peut on voir la requete qui permet l'affichage des pages ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

ok merci peut on voir la requete qui permet l'affichage des pages ?

Je pense que c'est cela que vous désirez :

<?php

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

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

$qid_c = recupere_sous_categorie($catid);

$DOC_TITLE = "[bijoux, cosmétique, Soin et beauté]";

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

$sqlcat = "SELECT image, description FROM peel_categories WHERE id = '".$catid."'";

$rescat = mysql_query($sqlcat);

$objcat = mysql_fetch_object($rescat);

if ($rescat) {

if (mysql_num_rows($rescat) > 0) {

echo "<div align=\"center\" class=\"normal\">";

if (!empty($objcat->image)) {

echo "<img src=\"$wwwroot/upload/".$objcat->image."\" width=\"150\" align=\"center\">";

}

echo "<br /><br >".html_entity_decode($objcat->description);

echo "<br /><br >";

echo "<br /><br >";

echo "</div>";

}

}

if ($qid_c) {

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

echo "";

} else {

echo "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr valign=\"top\"><td class=\"normal\">";

echo "";

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

while ($cat = mysql_fetch_array($qid_c)) { ?>

<tr valign="top"><td class="normal">

</td></tr>

<?php }

echo "<tr><td><img src=$wwwroot/images/blank.gif width=\"1\" height=\"10\" border=\"0\" alt=\"\" /></td></tr></table>";

}

} else {

echo "";

}

?>

<?php

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

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

// Récupération et affichage des données

$sql = "SELECT p.id, p.nom, p.promotion, p.descriptif, p.image1, e.prix_ttc AS ecotaxe, p.stock, p.on_stock

, IF(ISNULL(e.prix_ttc),p.prix, (p.prix + e.prix_ttc)) AS prix_catalogue

, IF(ISNULL(e.prix_ttc),p.prix * (1-p.promotion/100),(p.prix * (1-p.promotion/100) + e.prix_ttc)) AS prix_vente

FROM peel_produits_categories pc, peel_produits p LEFT JOIN peel_ecotaxes e ON (p.id_ecotaxe = e.id) WHERE p.id = pc.produit_id AND pc.categorie_id = '".intval($catid)."'

AND p.etat = '1' ORDER BY id DESC";

$result=mysql_query($sql) or die('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . mysql_error());

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

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

echo "Rupture de stock dans cette catégorie. Revenez très vite pour voir le nouvel arrivage";

}

} else {

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

while($prod=mysql_fetch_array($result))

{

?>

<tr>

<td class="normal" align="center" valign="middle" width="200" height="200">

<?php if ($prod['image1'] != "") { ?>

<img src="<?php echo $repertoire_images?>/<?php echo $prod['image1'] ?>" alt="" width="150" border="1" align="center" />

<?php } else {?>

<img src="<?php echo $wwwroot?>/images/photo-non-disponible.gif" align="center" alt="photo non disponible" />

<?php }?>

</td>

<td class="normal">

<?php

echo (!empty($prod['reference'])) ? "<span class=\"petit\">Réf. : ".$prod['reference']."</span><br />" : "";

echo "<a class=\"titre_produit\" href=\"$wwwroot/achat/produit_details.php?id=".$prod['id']."&catid=".$catid."\">";

echo html_entity_decode($prod['nom'])."</a><br />";

echo (!empty($prod['marque'])) ? "<font class=\"normal\">Marque : ".$prod['marque']."</font><br />" : "";

echo nl2br(html_entity_decode($prod['descriptif']))."<br />";

$prix = $prod['prix_vente'];

if ($prod['promotion'] != 0) {?>

<font color="#CC0000">Promotion : <?php echo $prod['promotion']; ?> %</font><br />

Prix T.T.C : <s><?php echo fprix($prod['prix_catalogue']); ?></s>&nbsp;

<font color="#CC0000"><?php echo fprix($prix); ?> € TTC</font><br />

<?php } else {?>

Prix : <font color="#CC0000"><?php echo fprix($prix); ?> € T.T.C</font><br />

<?php } ?>

<!-- Début du formulaire -->

<?php

if ($prod['on_stock'] == 0 || ($prod['on_stock'] == 1 && $prod['stock'] > 0)) { ?>

<form method="post" action="<?php echo $wwwroot?>/achat/caddie_ajout.php" name="ajout<?php echo $prod['id'] ?>">

<input type="hidden" name="stock" value="<? echo $prod['stock']; ?>">

<span class="impression" >

<? if ($prod['stock']>0){

?>

Quantité :

<select name="qte" class="formulaire1">

<?php

// Affiche la quantité en stock

$i=1;

while ($i<=$prod['stock'])

{

echo "<option value=\"$i\">$i</option>";

$i++;

}

}

?>

</select>

<input type="hidden" name="id" value="<?php echo $prod['id'] ?>" />

<a class="normal" href="java script:document.ajout<?php echo $prod['id'] ?>.submit()">

<img src="<?php echo $wwwroot?>/images/caddie.gif" align=middle alt="" border="0" />

</a>

<a class="normal" href="java script:document.ajout<?php echo $prod['id'] ?>.submit()">

</a>

<?php

} else {

echo "Produit en rupture de stock";

}?>

<a class="normal" href="<?php echo $wwwroot?>/achat/produit_details.php?id=<?php echo $prod['id'] ?>&catid=<?php echo $catid?>">

<img src="<?php echo $wwwroot?>/images/voir.gif" align="middle" width="20" height="20" alt="" border="0" /></a>

<a class="normal" href="<?php echo $wwwroot?>/achat/produit_details.php?id=<?php echo $prod['id'] ?>&catid=<?php echo $catid?>">+ de détails</a><p>

</form>

<!-- Fin du formulaire -->

<?php modifier($id = $prod['id'], $type = "produits"); ?>

</td></tr>

<tr>

<td align="center" class="normal" colspan="2">

<?php

}

//Boutons précédent et suivant

if($start)

{echo ("<a class=\"petit\" href=\"$wwwroot/achat/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)

{echo (" / ");}

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

}

echo ("<br />");

//Affichage des pages

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

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

{

?>

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

<?php

}

}

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

}

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

/******************************************************************************

* FONCTIONS

*****************************************************************************/

function recupere_sous_categorie($catid=0) {

/* Récupère le nom et la description de toutes les sous-catégories de celle-ci */

$qid = mysql_query("SELECT id, nom, description, parent_id FROM peel_categories WHERE parent_id = $catid AND id > 0 AND etat = 1") or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());

return $qid;

}

?>

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

remplace =>

$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");

par

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

pour voir...

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

remplace =>

$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");

par

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

pour voir...

Bonsoir,

Merci de vouloir m'aider :-)

Je viens d'essayer cette solution, cela ne change rien malheureusement

A bientôt

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Quelqu'un aurait une solution ?

Merci d'avance

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Sur quelle version êtes-vous ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Sur quelle version êtes-vous ?

La dernière 3.1

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Essayez avec ceci pour la requête :

// Récupération et affichage des données

$sql = "SELECT p.id, p.nom, p.promotion, p.descriptif, p.image1, e.prix_ttc AS ecotaxe, p.stock, p.on_stock
, IF(ISNULL(e.prix_ttc),p.prix, (p.prix + e.prix_ttc)) AS prix_catalogue
, IF(ISNULL(e.prix_ttc),p.prix * (1-p.promotion/100),(p.prix * (1-p.promotion/100) + e.prix_ttc)) AS prix_vente
FROM peel_produits_categories pc, peel_produits p LEFT JOIN peel_ecotaxes e ON (p.id_ecotaxe = e.id) WHERE p.id = pc.produit_id AND pc.categorie_id = $catid
AND p.etat = '1' ORDER BY id DESC";[/codebox]

Je ne garantie pas le résultat mais c'est pour le moment ce qui me vient à l'esprit.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Merci pour ton aide

Voilà ce que j'obtiens :

Une erreur de connexion à la base s est produite 72.

Query was empty

A bientôt

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