Correctif pour le pb des pages suivantes dans /administrer/produits.php

6 messages dans ce sujet

Posté(e) · Signaler ce message

Un problème existe sur les versions de PEEL SHOPPING au niveau de /administrer/produits lorsqu'on clic sur les pages en pagination

je vous invite à remplacer la fonction affiche_liste_produits par la fonction suivante dans la page /administrer/produits.php

Cela dot corriger le problème

function affiche_liste_produits($start, $frm) 

{

global $wwwroot;

global $categorie_options;

?>

<table border="0" cellpadding="0" cellspacing="2" width="740">

<tr>

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

<form method="get" action="<?php echo $_SERVER['PHP_SELF']?>?start=0&mode=recherche">

<table border="0" cellpadding="0" cellspacing="2" width="740">

	<tr><td colspan="2" class="entete">Choisir vos critères de recherche</td></tr>

	<tr>

	  <td class="normal"><b>Etat du produit :</b> <br />

	   <select size="1" name="etat" class="formulaire1">

		<option value="NULL">Peu importe</option>

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

		<option value="0">En attente</option>

		</select>	



	   </span>

	  </td>

	  <td class="normal"><b>Catégories</b><br />

	   <select size="1" name="categorie" class="formulaire1">

		<option value="NULL">Toutes les catégories</option>

		<?php 


		if (!isset($categorie_id)) { $categorie_id = 0; }


		$frm['categories'] = array($categorie_id);


		construit_select_cat($categorie_options, $frm['categorie_id']);


		echo $categorie_options;

		?>

		</select>	

		</td>

	</tr>

	<tr>

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

	  <b>Le produit est-il en page d'accueil ?</b><br />

	   <select size="1" name="homepage" class="formulaire1">

		<option value="NULL">Peu importe</option>

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

		<option value="0">Non</option>

		</select>	

	  </td>

	  </tr>

	<tr>

 <td class="normal" valign="top"><b>Référence du produit :</b> <input type="text" name="reference" size="15" class="formulaire1" value="" /> 

	 </td>

		 </tr>

	<tr><td colspan="2" height="5" class="label"><img src="<?php echo $wwwroot?>/images/blank.gif" height="5" alt="" /></td></tr>

	<tr>

	  <td align="center" colspan="2"><input class="bouton" type="submit" value="Rechercher" class="formulaire1" name="action" /> </td>

	</tr>

  </table>

</form>

</td></tr>


<tr>

	<td class="entete"  colspan="7">Liste des produits</td>

</tr>


<tr>

	<td colspan="7">

	<a class="normal" href="<?php echo $_SERVER['PHP_SELF']?>?mode=ajout">[Ajouter un produit]</a>

	</td>

</tr>


			<?php 

			$nb = 5;


			$where = "";


			if (isset($frm['etat'])) {if ($frm['etat'] != "NULL") {$where .= " AND p.etat = '".$frm['etat']."'";}}


			if (isset($frm['reference'])) {if (!empty($frm['reference'])) {$where .= " AND p.reference LIKE '%" .addslashes($_GET['reference']). "%'";}}


			if (isset($frm['nbparpage'])) {if (!empty($frm['nbparpage'])) {$nb = $frm['nbparpage'];}}//nombre d'enregistrement par page 


			if (isset($frm['homepage'])) {if ($frm['homepage'] != "NULL") {$where .= " AND p.on_special = '".$frm['homepage']."'";}}


			if (isset($frm['categorie']) && !empty($frm['categorie'])) {


				if ($frm['categorie'] != "NULL") {$where .= " AND c.id = '".$frm['categorie']."'";}


				//requete du forumaire


				$sql = "SELECT p.id, p.reference, p.nom, p.description, p.prix, p.etat, p.date_maj, p.on_stock, p.stock FROM peel_produits p, peel_produits_categories pc, peel_categories c WHERE p.id = pc.produit_id AND c.id = pc.categorie_id AND 1 ".$where." ORDER BY p.id ASC LIMIT $start, $nb";	


				$sql_count = "SELECT COUNT(*) FROM peel_produits p, peel_produits_categories pc, peel_categories c WHERE p.id = pc.produit_id AND c.id = pc.categorie_id AND 1 ".$where." ORDER BY p.id ASC";




			//requete d'affichage de la liste


			} else {


				$sql = "SELECT p.id,  p.reference, p.nom, p.description, p.prix, p.date_maj, p.etat, p.on_stock, p.stock FROM peel_produits p ORDER BY p.id DESC LIMIT $start, $nb";


				$sql_count = "SELECT COUNT(*) FROM peel_produits p ORDER BY p.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) 


			{


			echo "<tr><td class=\"normal\"><b>Aucun produit enregistré dans la base.</b></td></tr>"; } 


			else {

			?>

			<tr bgcolor="#6699ff">

				<td class="menu">Action</td>

				<td class="menu">Catégorie</td>

				<td class="menu">Nom</td>

				<td class="menu">Prix &euro; T.T.C</td>

				<td class="menu">Etat</td>

				<td class="menu">Stock</td>

				<td class="menu" align="center">Cr&eacute;ation / Mise à jour</td>

			</tr>

			<?php 

			$i = 0;


			while ($ligne = mysql_fetch_array($result)) { 


			?>

					<tr bgcolor="<?php echo  ($i % 2 == 0 ? '#F4F4F4' : '#ffffff' );?>">

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

						<a onClick="java script:return confirm('Êtes-vous sûr de vouloir supprimer le produit <?php echo addslashes($ligne['nom']) ?> ?');" class="normal" title="Supprimer <?php echo $ligne['nom'] ?>" href="<?php echo $_SERVER['PHP_SELF']?>?mode=suppr&id=<?php echo $ligne['id'] ?>">

						<img src=<?php echo $wwwroot?>/images/poubelle.gif border=0></a></td>

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


						<?php 


						$sqlCAT = "SELECT id, nom FROM peel_categories c, peel_produits_categories pc WHERE pc.produit_id = ".$ligne['id']." AND c.id = pc.categorie_id";


						$resCAT = mysql_query($sqlCAT);


						if (mysql_num_rows($resCAT) > 0) {


							while ($cat = mysql_fetch_array($resCAT)) {


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


							}


						} else {


							echo "<font color=\"red\"><b>n.c</b></font>";


						 }


						?>		


						</td>

						<td class="normal" align="center"><a class="normal" title="Modifier ce produit" href="<?php echo $_SERVER['PHP_SELF']?>?mode=modif&id=<?php echo $ligne['id'] ?>"><?php echo stripslashes($ligne['nom'])?></a></td>

						<td class="normal" align="center"><?php echo $ligne['prix'] ?> € T.T.C</td>

						<td align="center" class="normal"><?php if   (empty($ligne['etat'])) {echo "<img src=\"".$wwwroot."/administrer/images/puce-blanche.gif\" alt=\"\" />";} else {echo "<img src=\"".$wwwroot."/administrer/images/puce-verte.gif\" alt=\"\" />";} ?></td>	

						<td align="center" class="label"><?php if (empty($ligne['on_stock']))  { echo "n.a"; } else { echo ($ligne['stock'] <= 0) ? "<font color=\"red\">".$ligne['stock']."</font>" :  $ligne['stock'];} ?></td>	

						<td class="normal" align="center"><?php echo date("d-m-Y", strtotime($ligne['date_maj'])) ?></td>

					</tr>

					<tr><td align="center" class="normal" colspan="7">

			<?php 

				$i++;

			} 


			}


			//Boutons précédent et suivant 

			if($start) 

			{


			print("<a class=\"normal\" href=\"".$_SERVER['PHP_SELF']."?start=".($start-$nb)."&categorie=".vb($frm['categorie'])."&etat=".vb($frm['etat'])."&homepage=".vb($frm['homepage'])."& reference=".$_GET['reference']."\">page pr&eacute;c&eacute;dent</a>");} 


			$result=mysql_query($sql_count); 


			$row=mysql_fetch_row($result); 



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

			{ 


			if($start) {print(" / ");} 


			print("<a class=\"normal\" href=\"".$_SERVER['PHP_SELF']."?start=".($start+$nb)."&categorie=".vb($frm['categorie'])."&etat=".vb($frm['etat'])."&homepage=".vb($frm['homepage'])."& reference=".$_GET['reference']."\">page suivante</a>"); 


			} 


			print("<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

{ 

?>

<a class="normal" href="<?php echo $_SERVER['PHP_SELF']."?start=".$index*$nb; ?>&categorie=<?php echo vb($frm['categorie'])?>&etat=<?php echo vb($frm['etat'])?>&homepage=<?php echo vb($frm['homepage'])?>&reference=<?php echo $_GET['reference']?>"><?php echo $index+1; ?></a>&nbsp;

<?php 

}

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

}


function valide_form_produit(&$frm, &$erreurs) {


	$erreurs = array();

	$msg = array();


	if (empty($frm['nom'])) {

		$erreurs['nom'] = true;

		$msg['nom'] = " Vous devez insérer un nom de produit.";


	} 


	return $msg;

}

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

est ce que le pb est présent aussi sur la shopping 2.9.3 ??

car je n'ai pas souvenir ?

Merci encore et à bientôt...

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Ayant remarqué que le petit moteur de rechercher figurant sur la page produit.php ne marchait pas, j'ai essayé d'appliquer le correctif cité.

Seulement maintenant j'arrive à cette erreur (ou plutôt ce screen, car aucune erreur n'est signalée), la suite de la page ne s'affiche pas :

Je n'arrive pas à cerner l'erreur...

Je précise que je tourne sur peel 2.9.3 et que je n'ai aps ajouté la fonction de stock, donc j'ai supprimé toutes les données s'y rapportant.

Voilà, si quelqu'un peut m'aider ...

Ah et comme je voulais que le moteur de recherche cherche par nom et non pas par référence, j'ai changé la ligne correspondante aussi.

Merci d'avance ;)

EDIT !

Désolé, je n'avais pas fait gaffe, il manquait la fonction "construit_select_cat" à ajouter dans mon fichier fonction.php....

La page s'affiche correctement maintenant, mais le formulaire de recherche de produit ne marche toujours pas chez moi ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

bonjour je ne comprend pas qu il y faut modifier

pouvez vous faire, une explication plus claire, Merci !

exemple :

ouvrir /administrer/produits.php

chercher ......

et remplacer par

ajouter après

ajouter avant

Merci je ne sais pas ou mettre le script etc..

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

J'avais cherché mais pas trouvé. Seulement que le pb semblait se situer ligne 403

Merci . Je vais essayer le correctif

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Ipossible d'ajouter une catégorie dans ma boutique. Le formulaire s'affiche mais pas de bouton de validation une fois les infos enregistrée car il n'y a qu'un bouton "ajouter une sous catégorie" ce qui me semble étrange. Du coup je ne peux pas ajouter de catégorie. J'ai bien modifier le fichier produits.php mais rien n'y fait.

Pouvez-vous me renseigner à ce sujet car je ne trouve aucune réponse sur le forum ?

Merci

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