trier les données

Répondre
keitarosan
le 28/02/2005 à 15:57
keitarosan
Tu peux aussi utiliser la fonction "echo" quand tu ne comprends pas ^^

Au moins, tu vois clairement comment ca marche, et tu peux meme faire de petite modif en regardant comment ca réagit...

A mon avis, tu progresseras plus vite comme ca, que de demander qu'on t'explique a chaque fois.

L'apprentissage passe en grande partie par la, et tu veras, tu trouveras peut etre de meilleures solution, plus adaptées a ce que tu cherches :)
>> http://projectopensource.free.fr/index.php?m=2&m2=5&s=8 <<
guns17
le 28/02/2005 à 16:16
guns17
j'utilise déjà la fonction echo et je cherche avant de demander mais là je bloquais un peu...
guns17
le 28/02/2005 à 16:40
guns17
le script fonctionne mais cela ne correspond pas à ce que je recherche.
ici le tri se fera toujours par rapport à la 1ère colonne; or je ne veux faire qu'un tri par colonne : soit par enseigne, soit par region, ...
keitarosan
le 28/02/2005 à 17:16
keitarosan
...

tu vois, tu n'as pas compris l'interet de cette fonction...

si tu change le parametre page.php?tri=dad, le tri se fait sur la deuxieme colone en ASCendant, sur les autres en DESCendant...
si c'est dda, c'est sur la troisieme en ASCendant, et les autre en DESCendant...

et rien ne t'empeche d'adapter ce qu'on te propose...
Je pense pas que les personnes qui te repondent en montrant une "Ebauche" de ce qui peut etre fait, apprecie que tu leur disent que c'est pas ce que tu voulais... :(

Donc fait un petit effort, pousse un peu plus loin le résonnement, essaye de comprendre comment ca marche, et comment tu peux l'evoluer, quitte a mettre des "echo" sur toutes les lignes :)

Tu veras, la prochaine fois que tu voudras un truc similaire, mais pas necessairement pareil, tu pourras le refaire pour ce cas la sans aucune difficulté.
Ca fait parti de l'apprentissage, et ca ne se fait pas en un jour ^^
>> http://projectopensource.free.fr/index.php?m=2&m2=5&s=8 <<
Rex
le 28/02/2005 à 17:17
Rex
arf, oui, le con !!!

Pardon, utilises un truc dans le genre (attention il y a encore des bugs volontaires) :
<?php
$champs = array('date', 'nom', 'prenom');
$tri = isset($_GET['tri']) ? $_GET['tir'] : implode(';', $champs);
$tri = explode(',', $tri);
$ordre = array();
foreach($tri as $champ) {
if ('_' === $champ{0}) {
$sens = ' ASC';
$champ = substr($champ, 1);
} else {
$sens = 'DESC';
}
if( !in_array($champ, $champs)) die('Hack');
$order[] = $champ . $sens;
}

$ordre = implode(', ', $ordre);
$requete = 'SELECT ' . implode(', ', $champs) . ' FROM tatable ORDER BY ' . $ordre;
echo $requete;
?>


Avec ça, les noms de champ précédés d'un "_" sont considérés en tri inverse.
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
guns17
le 01/03/2005 à 09:36
guns17
Merci beacoup Rex; ça marche impec.
j'ai juste remplacé
$tri = isset($_GET['tri']) ? $_GET['tir'] : implode(';', $champs);

par :
$tri = isset($_GET['tri']) ? $_GET['tri'] : '_r.nom';

pour initialiser le tri lors de la 1ère ouverture de la page.

petit message perso pour keitarosan : je veux bien recevoir ton aide mais pas de leçon de morales
tu vois, tu n'as pas compris l'interet de cette fonction...
fait un petit effort

je suis novice en php mais pas en developpement, j'ai une methode de travail.
Bonne journée et sans rancune j'espere.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours