Tri ascendant et descendant des images

fhav Messages postés 276 Statut Membre -  
 patachon -
Bonjour,

j'ai une page ou j'affiche les images : exemple

ligne 1: img 1 img2 img3
Linge 2: img 4 img5 img6
....

mais les images sont groupé par famille, famille produit A famille produit B

Je veux faire de liens triez ascendent et descendant

si je clique ascendant il me les trie par famille. et vise versa.

mon problème n'est pas la requette qui fait ça; mais je ne sais pas comment l'implementer, sachant que je dois rester sur la meme page .

ce que j'ai fait un lien <a href: mapage>ascendant</a> // pareil pour descendant.

mais comme j'ai le même action, et que j'appel le même fichier contenant la requette, je ne sais pas sur quoi tester pour savoir si je viens de ascendant et descendant.

Merci pour vos suggestions.
A voir également:

16 réponses

adns Messages postés 1152 Statut Membre 153
 
bonjour

si tu fais cela avec une base de donnée :D

voila un pti exemple

echo "<a href=mapage.php?order=asc>ascendant</a>";
echo "<a href=mapage.php?order=desc>descendant</a>";

$order = $_GET['order'];

//petite securité
if ($order != "asc"  && $order != "desc")
$order = asc;

mysql_query("select * from matable order by id $order");


voila a quoi ca devrait ressembler :p

Adns
0
patachon
 
Un simple paramètre dans l'url non ?

   <a href="lapage.php?order=ASC">croissant</a>
   <a href="lapage.php?order=DESC">décroissant</a>


$order = 'ASC'; // Par défaut
if( isset($_GET['order']) && $_GET['order'] == 'DESC'  )
   $order = 'DESC';

$sql = 'SELECT .... FROM .... ORDER BY colonne ' . $order;
0
fhav Messages postés 276 Statut Membre 5
 
Merci pour vos réponses, j'ai essayé de le faire mais il me sort de la page carrement, en gardant sur l'URL l'adresse exacte.

Merci
0
adns Messages postés 1152 Statut Membre 153
 
"j'ai essayé de le faire mais il me sort de la page"

il te sors de la page ?? ^o)

Adns
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fhav Messages postés 276 Statut Membre 5
 
en cliquant assendant par exemple, je me retrouve à la page d'accueil avec une erreur:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in

Merci
0
adns Messages postés 1152 Statut Membre 153
 
tu peux nous mettre ton code stp ??
0
fhav Messages postés 276 Statut Membre 5
 
Je le veux bien, mais c super compliquer des pages entièrre, trop volumineux, rien que pour suivre je vous explique si vous voulez la façon dont il est conçus, en fait c un code déja fait donc je continue le travail.

Merci beaucoup
0
adns Messages postés 1152 Statut Membre 153
 
met juste la partie qui nous interesse...
0
fhav Messages postés 276 Statut Membre 5
 
<td align="center"> <FONT color="#6DC5E0" ><b>Trier par ordre :</b></FONT></td>
<td><a href="?cat=devis&page=produit?order=ASC" > <FONT color="#6DC5E0" ><b>croissant </b></FONT></a>|
<a href="?cat=devis&page=produit?order=DESC" > <FONT color="#6DC5E0" ><b>décroissant </b></FONT></a>
</td>
<?
$order = 'ASC'; // Par défaut
if( isset($_GET['order']) && $_GET['order'] == 'DESC' )
$order = 'DESC';
?>
<!--

/** ici on va recupérer les images par famille "Vase""assiete"
-->
<?//}?>
</tr>
<br>
<tr>

<?
// On affiche 5 vignettes par ligne

$array_photos = AFFICHAGE::show_thumbs('bda_Produit');

for ($i=0;$array_photos[$i];$i++)
{
if (!($i%4) && $i)
echo "</tr><tr>";
?>
<td width="150" align="center" style="border:solid 1px #dfdfdf; padding:2px;">

..................... ici je continue l'affichage

et cette partie elle est dans une page : vase.php qui est appelé un moment donné de la page principale accueil.php et dans cette derniere je difinie l'action.

Je ne sais pas si c claire
0
adns Messages postés 1152 Statut Membre 153
 
cat=devis&page=produit?order=ASC"

cette ligne est pas bonne remplace la par

cat=devis&page=produit&order=ASC"

de meme pour le DESC

Adns
0
fhav Messages postés 276 Statut Membre 5
 
Merci , maintenant il reste sur la bonne page, sauf qu'il fait pas le tri, donc à votre avis , c de ma requette ?

Merci bcp
0
adns Messages postés 1152 Statut Membre 153
 
fais voir le bout de code avec la requete :)
0
fhav Messages postés 276 Statut Membre 5
 
Voici ma requette
0
fhav Messages postés 276 Statut Membre 5
 
Je peu vous envoyer ça en privé ? comment je le fais sinon .?

Merci
0
fhav Messages postés 276 Statut Membre 5
 
Excusez moi j'ai du retirer ma requette, car je ne suis pas autorisé de la mettre sur le net, je trouve que c con , mais je suis obligé de respcté, mais si possible je vous envois ça par mail special ??

merci de répondre
0
fhav Messages postés 276 Statut Membre 5
 
class Requette
{

static public function show_thumbs($table)
{
$file_thumb = ($table == 'bd_produit') ? "VignetteProduit" : "photo_vignette";
$file_popup = ($table == 'bd_produit') ? "PopUpArticle" : "photo_pop";
$file_descriptif = ($table == 'bd_produit') ? "DesignationI" : "Designation";
$file_descriptif_commercial = ($table == 'bd_produit') ? "descriptif_commercial" : "commentaire";
$file_name = ($table == 'bd_produit') ? "NomArticleInternet" : "Designation";
$id_produit = ($table == 'bd_produit') ? "IDArticle" : "IDPCA";
$conds = ($table == 'bd_produit') ? "Epaisseur=3 ORDER BY Famille".$order."" : "poids='P'";

$array_thumb = array();
$tab = SQL_CLASS::select_all($table, $conds, true);
for ($i=0;$tab[$i];$i++)
{
$array_stack['id_produit'] = $tab[$i][$id_produit];
$array_stack['descriptif'] = $tab[$i][$file_descriptif];
$array_stack['descriptif_commercial'] = $tab[$i][$file_descriptif_commercial];
$array_stack['nom'] = $tab[$i][$file_name];
$array_stack['vignette'] = $tab[$i][$file_thumb];
$array_stack['popup'] = $tab[$i][$file_popup];
array_push($array_thumb, $array_stack);
}
return $array_thumb;
}

}
0
patachon
 
Euh ton code n'a rien d'un truc ultra secret ;)

Tu utilises le $order, mais tu ne le déclares pas.

$conds = ($table == 'bd_produit') ? "Epaisseur=3 ORDER BY Famille".$order."" : "poids='P'"; 


Par :

$conds = ($table == 'bd_produit') ? 'Epaisseur=3 ORDER BY Famille ' . (isset($_GET['order']) && $_GET['order'] == 'DESC') ? 'DESC' : 'ASC'  : "poids='P'"; 
0