Problème dans administrer/produits.php

1 message dans ce sujet

Posté(e) · Signaler ce message

Bonjour,

J'ai encore un problème sur la version peel 2.9.3.

Le formulaire de recherche de la page administrer/produits.php me renvoie tout le temps TOUS les produits. Il ne prend plus en compte les différents critères de recherche...

Pourtant, j'ai comparé la page de la version 3.0 qui marche très bien avec la mienne, jai corrigé les quelques défauts décrits dans le post it de M.Ruault, mais rien n'y fait.

Cependant je tiens à dire que j'ai modifié quelques variables... Le champ où l'on écrivait la référence du produit, je l'ai remplacé par le nom. Normalement, cela devrait marcher...

Si une bonne âme charitable peut m'aider, j'ai passé toute la journée d'hier dessus en vain ;)

Je vous mets ma fonction affiche_liste_produit, c'est forcément de là que vient le problème non ? ;)

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

	  <span class="normal">

	   <input type="radio" name="etat" value="NULL" checked /><i>peu importe</i>

	   <input type="radio" name="etat" value="1" /><i>En ligne</i>

	   <input type="radio" name="etat" value="0" /><i>En attente</i>

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

	  <span class="normal">

	   <input type="radio" name="homepage" value="NULL" checked /><i>peu importe</i>

	   <input type="radio" name="homepage" value="1" /><i>oui</i>

	   <input type="radio" name="homepage" value="0" /><i>non</i>

	   </span>

	  </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 = 30;


			$where = "";


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


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


			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']."'";}


				$sql = "SELECT p.id, p.reference, p.nom, p.description, p.prix, p.etat, p.date_maj 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";


			} else {


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


				$sql_count = "SELECT COUNT(*) FROM peel_produits p WHERE 1 ".$where." 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 € T.T.C</td>

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

				<td class="menu" align="center">Cré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'])."\">page précé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'])."\">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'])?>"><?php echo $index+1; ?></a> 

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

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