le 07/08/2003 à 20:53
Jac
Bonjour.
Je vous détaille en 2 mots la procédure que je tente de finaliser
(tout se passe dans la même page)
-----------------------------
1)-selon le choix effectué dans un sélect de mon formulaire, clause Where sur le champ correspondant de
la requête (ou tout si aucun choix)
if (isset($HTTP_GET_VARS['choix']))
{
if ($HTTP_GET_VARS['choix']<>0) {
$tri=$HTTP_GET_VARS['choix'];
}else{
$tri='%';
}
}else{
$tri='%';
}
NB ... la fin de la requête plus loin "WHERE theme_declar.id_theme LIKE '$tri'
--------------------------------
2) a partir de cet affichage, possibilité de différent tri (chronologique Asc et Desc ...)
if($sort=="dateasc") { $order="order by theme_declar.date_an ASC, theme_declar.date_mois ASC";}
NB pour la requête ... WHERE theme_declar.id_theme LIKE '$tri' $order...
------------------------------------
3) sélection pour l'affichage page par page
fin de requête ....WHERE theme_declar.id_theme LIKE '$tri' $order LIMIT $debut,$nb_affichage_par_page";
-------------------------
La requête ainsi constituée réagit parfaitement à cette exception près :
les liens permettant l'affectation de sort (2) sont construits ainsi :
$ch=$HTTP_SERVER_VARS['QUERY_STRING'];
...
<a href="<?php print($PHP_SELF);?>?sort=dateasc<?php echo "&".$ch;?>"><img border......>
et donne la première fois à l'affichage : ...declar.php?sort=dateasc&choix=0&envoie=Afficher
ce qui est le résultat attendu
par contre, et c'est là que la méthode n'est plus bonne,
si je souhaite (sans changer le sélect) modifier l'ordre de tri ... le [query_string'] ne va plus car il se "cumule" au précédent
et donne ... declar.php?sort=dateasc&sort=dateasc&choix=1&envoie=Afficher
J'en conclus que je n'utilise pas la bonne méthode pour le réaffichage de ma mage qui doit tenir compte:
- du choix de mon sélect $tri
- du n° de page
- et de l'ordre de tri $sort
J'étais pourtant content de cette construction ...
Je vous remercie de vos conseils avisés et espère avoir été suffisamment clair.
Jacques
Je vous détaille en 2 mots la procédure que je tente de finaliser
(tout se passe dans la même page)
-----------------------------
1)-selon le choix effectué dans un sélect de mon formulaire, clause Where sur le champ correspondant de
la requête (ou tout si aucun choix)
if (isset($HTTP_GET_VARS['choix']))
{
if ($HTTP_GET_VARS['choix']<>0) {
$tri=$HTTP_GET_VARS['choix'];
}else{
$tri='%';
}
}else{
$tri='%';
}
NB ... la fin de la requête plus loin "WHERE theme_declar.id_theme LIKE '$tri'
--------------------------------
2) a partir de cet affichage, possibilité de différent tri (chronologique Asc et Desc ...)
if($sort=="dateasc") { $order="order by theme_declar.date_an ASC, theme_declar.date_mois ASC";}
NB pour la requête ... WHERE theme_declar.id_theme LIKE '$tri' $order...
------------------------------------
3) sélection pour l'affichage page par page
fin de requête ....WHERE theme_declar.id_theme LIKE '$tri' $order LIMIT $debut,$nb_affichage_par_page";
-------------------------
La requête ainsi constituée réagit parfaitement à cette exception près :
les liens permettant l'affectation de sort (2) sont construits ainsi :
$ch=$HTTP_SERVER_VARS['QUERY_STRING'];
...
<a href="<?php print($PHP_SELF);?>?sort=dateasc<?php echo "&".$ch;?>"><img border......>
et donne la première fois à l'affichage : ...declar.php?sort=dateasc&choix=0&envoie=Afficher
ce qui est le résultat attendu
par contre, et c'est là que la méthode n'est plus bonne,
si je souhaite (sans changer le sélect) modifier l'ordre de tri ... le [query_string'] ne va plus car il se "cumule" au précédent
et donne ... declar.php?sort=dateasc&sort=dateasc&choix=1&envoie=Afficher
J'en conclus que je n'utilise pas la bonne méthode pour le réaffichage de ma mage qui doit tenir compte:
- du choix de mon sélect $tri
- du n° de page
- et de l'ordre de tri $sort
J'étais pourtant content de cette construction ...
Je vous remercie de vos conseils avisés et espère avoir été suffisamment clair.
Jacques