Affichage produits en 4 colonnes

9 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour à tous,

Toujours dans ma quète de perfectionnement de PEEL, je cherche la bonne formule PHP pour autoriser l'affichage de mes produits, une fois une catégorie sélectionnée, dans la page index. Jusqu'alors ces produits se présentent en ligne, les uns sous les autres. Il m'a fallut définir la quantité autorisée par page mais cela ne suffit pas à une présentation sympathique de ma page.

Auriez-vous le code me permettant donc d'autoriser l'affichage en 4 colonnesde mes produits ?

Je suis sous peel boutique

Par avance, je vous remercie d'avoir pris un peu de votre temps pour me répondre

Amitiés

Bénédict

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

bonjour,

dans index.php de /achat il suffit de mettre un compteur avant la ligne 99 et faire un tableau dans :

<tr>

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

afin d'afficher sur 2 .. 3 ou 4 colonnes

et incrementer le compteur

par contre il faut aussi changer l'emplacement de la gestion de numerotation des pages

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

bonjour,

dans index.php de /achat il suffit de mettre un compteur avant la ligne 99 et faire un tableau dans :

<tr>

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

afin d'afficher sur 2 .. 3 ou 4 colonnes

et incrementer le compteur

par contre il faut aussi changer l'emplacement de la gestion de numerotation des pages

Bonsoir Macao45,

Tout d'abord merci pour votre réponse rapide.

Je vais donc tenter votre solution qui me paraît être très pertinente.

Me permettez vous de vous soliciter à nouveau si je devais rencontrer quelques soucis ?

Merci

amitiés

Bénédict

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

il n'y a pas de quoi ..

une remarque cependant au dela de 3 colonnes ça risque de ne pas etre possible

un exemple ===>> http://izzotek.com je n'ai que trois colonnes et sans les tarifs et les boutons

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

il n'y a pas de quoi ..

une remarque cependant au dela de 3 colonnes ça risque de ne pas etre possible

un exemple ===>> http://izzotek.com je n'ai que trois colonnes et sans les tarifs et les boutons

Bonjour,

En effet, mais votre site présente très bien.

Je n'ai pas tout à fait saisi concernant le compteur, comment se présent-il ?

Pardonnez mon ignorance

Merci de votre aide active

Amitiés

Bénédict

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

En effet, mais votre site présente très bien.

Je n'ai pas tout à fait saisi concernant le compteur, comment se présent-il ?

Pardonnez mon ignorance

Merci de votre aide active

Amitiés

Bénédict

PS :

si ma mémoire est bonne ne serait-ce quelque chose dans ce genre ?

$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );

while($data = mysql_fetch_array($result))

{

$tablo[]=$data;

}

$nbcol=3;

echo '<table border="0" valign="top" width="150" cellspacing="0" cellpadding="0">';

$nb=count($tablo);

for($i=0;$i<$nb;$i++){

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

personellement mon code donne ça

<table border="0" width="100%" id="table44" cellspacing="0" cellpadding="0">

<tr>

<td>&nbsp;</td>

<?

$e=1;

$qid = mysql_query("SELECT id, reference, nom, image1, date_maj FROM ".$nick."_produits where on_special ='1' order by id desc limit 21 ");

while ($prod = mysql_fetch_array($qid)) {

?>

<td class=normal valign="top">

<p align="center">

<a target="_top" href="<?=$wwwroot?>/achat/produit_details.php?id=<?=$prod['id']?>">

<img border="0" src="/images/<?=$prod['image1']?>A.jpg" width=150" height="113" style="border: 3px solid #FFFFFF"></a><center><b><?=$prod['nom]?></b></center></td>

<td>&nbsp;</td>

<?

if ( $e =="3" ){

echo "</tr>";

$e=0;

}

if ($e =="0" ){

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

}

$e++;

}

?>

</tr>

</table>

on peut faire ça aussi dans un tableau mais il faut penser à mettre une limite dans le request ou gerer les pages

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

bon quelques news ...

ligne 94 : debut de l'affichage des produits 180 fin de l'affichage dans achat/index.php

creation d'une fonction dans cette page

function affiche_prod($prod,$catid){

global $wwwroot;

?>

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

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

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

<?php } else {?>

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

<?php }?>

<?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'] ?>">

<b>Quantit� : </b>

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

<option value="1">1</option>

<option value="2">2</option>

<option value="3">3</option>

<option value="4">4</option>

<option value="5">5</option>

</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()">

Ajouter au caddie

</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>

<?php

}

?>

et mise en place de l'appel

} else {

$tt=0;

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

echo "<tr>";

while($prod=mysql_fetch_array($result))

{

?>

<?php

echo $tt;

affiche_prod($prod,$catid);

?>

</td>

<?php

$tt++;

if ($tt == "3" ){echo "</tr><tr>";$tt=0;}

}

//Boutons pr�c�dent et suivant

en esperant que cela aide ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

bonjour,

en suivant vos indications j'ai modifié achat/ index.php comme suit.

mais j'ai un Parse error: syntax error, unexpected $end in /home/peters/public_html/peter/achat/indexTest.php on line 241 (dernière ligne)

<?php 

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


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


$qid_c = recupere_sous_categorie($catid);


$DOC_TITLE = "Peter Span Design";


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

?>

<table width="70%"  border="0" align="center" cellpadding="0" cellspacing="0">

  <tr> 

	<td class="tetiere"> 

	  <?php affiche_arbre_categorie($catid) ?>

	</td>

  </tr>

</table>






<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">

  <tr>

	<td>

	  <?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 >".stripslashes($objcat->description);

				echo "</div>";

			}

		}

			if ($qid_c) {

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

					echo "";

				} else {

				$nb_cellules = mysql_num_rows($qid_c);

	$nb_colonnes = 3;

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

				echo "<strong>Dans cette rubrique :</strong>";

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

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

	  <?php } 

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

				}

			} else {

			echo "";

			}

		 ?>

	  <?php 

$nb = 12; //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.image1

	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 p.prix LIMIT $start,$nb";

$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 "aucun produit disponible dans cette catégorie"; 

	}

	} else {


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


while($prod=mysql_fetch_array($result)) 

{

?>

	</td>

	<td>

	  <?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 >".stripslashes($objcat->description);

				echo "</div>";

			}

		}

			if ($qid_c) {

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

					echo "";

				} else {

				$nb_cellules = mysql_num_rows($qid_c);

	$nb_colonnes = 3;

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

				echo "<strong>Dans cette rubrique :</strong>";

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

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

	  <?php } 

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

				}

			} else {

			echo "";

			}

		 ?>

	  <?php 

$nb = 12; //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.image1

	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 p.prix LIMIT $start,$nb";

$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 "aucun produit disponible dans cette catégorie"; 

	}

	} else {


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


while($prod=mysql_fetch_array($result)) 

{

?>

	</td>

	<td>

	  <?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 >".stripslashes($objcat->description);

				echo "</div>";

			}

		}

			if ($qid_c) {

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

					echo "";

				} else {

				$nb_cellules = mysql_num_rows($qid_c);

	$nb_colonnes = 3;

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

				echo "<strong>Dans cette rubrique :</strong>";

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

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

	  <?php } 

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

				}

			} else {

			echo "";

			}

		 ?>

	  <?php 

$nb = 12; //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.image1

	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 p.prix LIMIT $start,$nb";

$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 "aucun produit disponible dans cette catégorie"; 

	}

	} else {


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


while($prod=mysql_fetch_array($result)) 

{

?>

	</td>

  </tr>

</table>

<tr>

  <td class="normal" colspan="3"> 

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

  </td>

</tr>

<tr>

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

<?php 

} 


//Boutons précédent et suivant 

if($start) 

{echo ("<a class=\"normal\" 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=\"normal\" 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 ?

echo ("Page :"); 

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

{ 

?>

	<b><a class="normal" 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; }


?>

je n'ai pas l'impression d'avoir oublié de guillemets ou d'acolade mais vraisemblablement, quelque chose cloche ;)

si vous avez des idées, je suis preneuse. :huh:

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