Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/09/2006, 14h28   #1
Futur Membre du Club
 
Inscription : mars 2004
Messages : 97
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 97
Points : 15
Points : 15
Par défaut [Conception] Trier résultat d'une requête

Bonjour à tous j'ai un moteur de recherche qui me retourne des résultats et ce que je veux faire c'est que l'on puisse ensuite trier les résultats et j'ai trouvé un script qui me le permets et cela marche par contre si dans la barre d'adresse je modifie la valeur de orderBy par un truc bidon (un champ qui n'existe pas dans la BD j'ai un message d'erreur ce qui est normal.
pourriez-vous m'aider ?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php 
function getRefreshUrl( $expect = null ) { 
$qs= '?'; 
foreach( $_GET AS $key => $value ) 
if ( $key != $expect ) 
$qs .= urlencode( $key ).'='.urlencode( $value ).'&'; 
return $_SERVER[ 'PHP_SELF' ].$qs; 
} 
 
$colonneTri = ( isset( $_GET['orderBy'] ) ) ? $_GET['orderBy'] : null; 
$sql = 'select ... from ...'; 
if ( !is_null( $colonneTri ) ) 
$sql .= ' order by '.$colonneTri; 
... 
 
// on veut tout sauf orderBy (car on l'ajoute après pour chaque colonne) 
$refreshUrl = getRefreshUrl( 'orderBy' ); 
?> 
<table> 
<thead> 
<tr> 
<th><a href="<?php echo $refreshUrl.'orderBy=id_row'; ?>">id</a></th> 
<th><a href="<?php echo $refreshUrl.'orderBy=label'; ?>">libelle</a></th> 
</tr> 
</thead> 
</table>
iomega est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2006, 14h36   #2
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Tu vérifies que OrderBy a une des valeurs attendues, et si ce n'est pas le cas tu l'ignores.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2006, 15h40   #3
Futur Membre du Club
 
Inscription : mars 2004
Messages : 97
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 97
Points : 15
Points : 15
Par défaut Trier résultat d'une requete

Hello eusebio et merci de ta répons pourrais-tu me donner un exemple ? cela serait super sympas
Bonne journée
iomega est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2006, 15h49   #4
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par iomega
Hello eusebio et merci de ta répons pourrais-tu me donner un exemple ? cela serait super sympas
Bonne journée
Code :
$colonneTri = ( isset( $_GET['orderBy'] ) && ($_GET['orderBy'] == 'champ1' || $_GET['orderBy'] == 'champ2') ) ? $_GET['orderBy'] : null;
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2006, 17h19   #5
Futur Membre du Club
 
Inscription : mars 2004
Messages : 97
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 97
Points : 15
Points : 15
Par défaut trier le résultat d'une requête

Merci cela marche eusebio
iomega est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h32.


 
 
 
 
Partenaires

Hébergement Web