Fiiies1 Jase From Outta Space | Bonjour à tous,
Dans le cadre du développement d'une appli pour mon stage, je dois lister une table où je peux effectuer des tris et des classements.
Voici un screenshot :
Au niveau des classements, aucun souci excepté un : le classement sur la référence.
La référence des dossiers est un VARCHAR2. Pourquoi? C'est simple, la référence d'un nouveau dossier est incrémentée de 1 par rapport au dernier dossier créé, mais on peut également faire des reprises de dossiers, et cette reprise se nommera "refDossierInitial" + "r" + "numReprise (ex : 13r1).
Bref, à l'heure actuelle, quand je fais un classement sur la refDossier, et bien ça fait un classement tout bête sur un VARCHAR... Donc si j'ai des dossiers ayant ces ref : 2, 5, 8, 11, 13, 25, 33 => Si je fais un classement ASC, ça me sort 11, 13, 2, 25, 33, 5, 8. Logique car ça regarde caractère par caractère.
Ce que je voudrais faire, c'est donc CASTER ces numDossiers en Integer les refDossier. Ca c'est le premier point.
Deuxième point, lorsque je rencontre une ref de dossierReprise (style 13r1), je voudrai sélectionner que la partie qui m'intéresse à savoir le "13" et supprimer le "r" avec ce qui suit ("r1" dans mon cas).
Voici ma requête actuelle :
Code :
- if ($_SESSION[$_GET['ordre']] == "ASC" )
- {
- if ($_SESSION['AjoutRequete'] == "" )
- $db->query("SELECT idDossier, etatDossier, natureDemandeDossier, natureDossier, dateEcheanceDossier,
- refDossierInitial, CAST(refDossier AS SIGNED INTEGER) as newRefDossier, idClientDossier, idFormaliteCnilDossier,
- dateLivraisonDossier, idAgentDossier, titreDossier FROM dossier ORDER BY ".$_GET['ordre']." ASC ;", 8) ;
- else
- $db->query("SELECT idDossier, etatDossier, natureDemandeDossier, natureDossier, dateEcheanceDossier,
- refDossierInitial, CAST(refDossier AS SIGNED INTEGER) as newRefDossier, idClientDossier, idFormaliteCnilDossier,
- dateLivraisonDossier, idAgentDossier, titreDossier FROM dossier ".$_SESSION['AjoutRequete']." ORDER BY ".$_GET['ordre']." ASC ;", 8) ;
- }
|
Voilà, donc ça me classe bien les refDossier mais par VARCHAR et non INTEGER.
Comment pourrais je procéder? Des idées?
Merci à vous
Fiiies Message édité par Fiiies1 le 19-07-2006 à 16:12:41
|