Tri ascendant et descendant des images

Fermé
fhav Messages postés 252 Date d'inscription mercredi 11 mars 2009 Statut Membre Dernière intervention 25 novembre 2009 - 14 avril 2009 à 13:48
 patachon - 14 avril 2009 à 22:27
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.

16 réponses

adns Messages postés 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
14 avril 2009 à 14:10
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
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 252 Date d'inscription mercredi 11 mars 2009 Statut Membre Dernière intervention 25 novembre 2009 5
14 avril 2009 à 14:31
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 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
14 avril 2009 à 14:37
"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 252 Date d'inscription mercredi 11 mars 2009 Statut Membre Dernière intervention 25 novembre 2009 5
14 avril 2009 à 14:40
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 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
14 avril 2009 à 14:42
tu peux nous mettre ton code stp ??
0
fhav Messages postés 252 Date d'inscription mercredi 11 mars 2009 Statut Membre Dernière intervention 25 novembre 2009 5
14 avril 2009 à 14:43
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 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
14 avril 2009 à 14:45
met juste la partie qui nous interesse...
0
fhav Messages postés 252 Date d'inscription mercredi 11 mars 2009 Statut Membre Dernière intervention 25 novembre 2009 5
14 avril 2009 à 14:52
<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 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
14 avril 2009 à 14:54
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 252 Date d'inscription mercredi 11 mars 2009 Statut Membre Dernière intervention 25 novembre 2009 5
14 avril 2009 à 14:57
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 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
14 avril 2009 à 14:58
fais voir le bout de code avec la requete :)
0
fhav Messages postés 252 Date d'inscription mercredi 11 mars 2009 Statut Membre Dernière intervention 25 novembre 2009 5
14 avril 2009 à 15:08
Voici ma requette
0
fhav Messages postés 252 Date d'inscription mercredi 11 mars 2009 Statut Membre Dernière intervention 25 novembre 2009 5
14 avril 2009 à 15:03
Je peu vous envoyer ça en privé ? comment je le fais sinon .?


Merci
0
fhav Messages postés 252 Date d'inscription mercredi 11 mars 2009 Statut Membre Dernière intervention 25 novembre 2009 5
14 avril 2009 à 15:12
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 252 Date d'inscription mercredi 11 mars 2009 Statut Membre Dernière intervention 25 novembre 2009 5
14 avril 2009 à 15:14
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
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