Url's et tris

Résolu
cs_fluR Messages postés 14 Date d'inscription mardi 23 décembre 2003 Statut Membre Dernière intervention 12 juillet 2006 - 27 sept. 2005 à 02:14
cs_fluR Messages postés 14 Date d'inscription mardi 23 décembre 2003 Statut Membre Dernière intervention 12 juillet 2006 - 7 oct. 2005 à 17:17
Bonjour,

Me posant bien des questions et commencant le php, je poste un thread vous demandant de m'éclaircir sur certaines choses concernant le tri d'une page.

('attention j suis un gros noobie j debute')

je vois bien souvent des url's de ce type quand je clic sur un entete: http://xxxx.com/viewclass.php?id=10&sort=title

il effectue un tri sur title.
Vu le fait que l'id numero 10 renvoi a une table de la bdd(et affiche son contenu), j me demandais si title etait lui aussi le nom d'un champs de la table.
Dans ce cas, est ce que sort est une fonction integrante de php qui permet de faire un tri directement ds l 'url et qui , donc, rafraichit la page en lui applicant un tri croissant sur le champs demandé????
J'ai testé mais ca ne fonctionne pas. Qu'en est il de sort alors? une variable cachant une requete? une fonction publique prédéfinie auparavant?

Pouvez vous m'aider?
Si vous connaissez le sujet, pourriez vous me montrer la démarche a suivre pour arriver a gerer de tels tris? Comment arrive t on a un tel résultat?
Ca m interesse :p

Merci a tous! Merci d'avance! Bien a vous...
Laurent.

Just me! Not another...

8 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
27 sept. 2005 à 08:36
Hello,



en effet, sort, dans ce cas, est une simple variable.

A l'arrivée sur la page, cette variable est testée pour connaitre sa
valeur. Par exemple, si $_GET['sort'] = 'titres', on peut imaginer que
le développeur fera une requête sur sa base en triant les résultats sur
les titres (ORDER BY titres ASC par exemple). Donc, c'est bien une
variable qui cache une requête.
cs_fluR Messages postés 14 Date d'inscription mardi 23 décembre 2003 Statut Membre Dernière intervention 12 juillet 2006
29 sept. 2005 à 15:07
Héhé merci
et désolé du dérangement.
En effet ct bien une variable que l'on recupere. En fait j ai trouvé tout seul en testant. je cherchais midi a 14h alors que la réponse etait sous mon nez :-)
d'ailleur, voilà une partie de mon code :p

if (isset($_GET['sort'])) {
$result = mysql_query('SELECT * FROM `plok` ORDER BY `'.$_GET['sort'].'` ASC LIMIT 5');
}else {
$result = mysql_query('SELECT * FROM `plok` ORDER BY `lenumero` DESC LIMIT 5');
}
// ca me permet de trier les valeurs selon leur nom de champs[ici defini par $sort] :p, s il n existe pas, on ne trie pas :-)

lien qui modifie cette url (quand clic sur l'auteur par ex), pour reprendre la variable pour le tri:
[blog2.php?sort=lauteur ',$result2['lauteur'],']

voilà j avance... now j vais essayer de trouver le moyen de recuperer le nombre d'enregistrements ds une table pour pouvoir déterminer le nombre de page (disons que je n'affiche que 5 enregistrement par page et qu'il en existe X)
Puis selon moi j devrai utiliser une requete avec LIMIT n, 5
Fin bref, c'est une autre histoire!Merci pour vos réponses :p

Just me! Not another...
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
29 sept. 2005 à 18:55
SELECT COUNT(*) FROM table.



et hop c'est torché pour le nombre d'enregistrements.



Au passage évite le SELECT * dans ta requête, il faut mettre les champs
dont tu as besoin seulement (même si tu as besoin de tous les champs)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
30 sept. 2005 à 08:52
Je suis entrain de me demander si c'est pareil pour le count...

SELECT COUNT(champ) champ FROM table marche très bien, après tout.

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

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
30 sept. 2005 à 15:43
le problème de ça c'est que ce n'est pas inscrit en dur dans la table,
SELECT COUNT(*) est lui inscrit directement dans la table ce qui est
plus rapide :-)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
jnbrunet Messages postés 258 Date d'inscription samedi 25 décembre 2004 Statut Membre Dernière intervention 13 novembre 2012
27 sept. 2005 à 03:07
En fait je crois que sort est simplement une variable normale....

par exemple:
www.site.com/page.php?variable1=bou&variable2=pou&variable3=dou

pour sortir les variables dans ta page php:

$var1 = $_GET['variable1'];
$var2 = $_GET['variable2'];
$var3=$_GET['variable3'];


Voila, je ne sais pas si c'est ce que tu voulais savoir...


Jn
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
27 sept. 2005 à 15:33
En même temps on ne peut pas vraiment savoir, mais c'est probable que ce soit pour une requête en effet :-)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
cs_fluR Messages postés 14 Date d'inscription mardi 23 décembre 2003 Statut Membre Dernière intervention 12 juillet 2006
7 oct. 2005 à 17:17
MERCIIIIIIIIIIIIII, j vais tester ;o

Just me! Not another...
Rejoignez-nous