Affichage produits en 4 colonnes

9 posts in this topic

Posted · Report post

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

Share this post


: post
Share on other sites

Posted · Report post

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

Share this post


: post
Share on other sites

Posted · Report post

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

Share this post


: post
Share on other sites

Posted · Report post

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

Share this post


: post
Share on other sites

Posted · Report post

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

Share this post


: post
Share on other sites

Posted · Report post

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++){

Share this post


: post
Share on other sites

Posted · Report post

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

Share this post


: post
Share on other sites

Posted · Report post

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

Share this post


: post
Share on other sites

Posted · Report post

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:

Share this post


: post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

Twitter Advisto ecommerce

Facebook PEEL Shopping