Mumm problème d'order by

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Mumm problème d'order by

par cerber » 29 juin 2005, 10:19

moi je vote pour la sol de Mere-T
Et vive l'UTF-8

Bon, plus sérieusement, ton prob m'a l'air très intéressant : j'y avais jamais pensé, mais c vrai que ca doit arriver très souvent, car il est moins lourd de stocker du html dans la BDD que de faire des htmlentities a chaque fois (quoi que ce serait la solution de facilité dans notre cas)

pour regler ce délicat probleme il faudrai modifier la fonction de comparaison pour qu'elle accepte une option *HTMLENTITIES* et que, dans ce cas elle convertisse les entitiées html en leur équivalent mais ca sous entend de faire un patch pour mysql ... en fait, je crois que je suis bon pour l'azile, non, la meilleur solution reste l'UTF-8 (même si g jamais compris comment le faire marcher

par Cobaye » 29 juin 2005, 10:13

bon resolu, j'ai mise à jour le chmpa mot en enlevant le code html et en remettant les accents

par Cobaye » 29 juin 2005, 10:10

suis en latin1_swedish_ci sur mon poste et sur l'hébergement

par mere-teresa » 29 juin 2005, 10:08

As tu vérifié le charset de ta base ?
http://www.nexen.net/docs/mysql/annotee ... arsets.php

par Cobaye » 29 juin 2005, 10:03

en fait si j'ai mis les accents en html c'est que quand je bosse sur la base ne local chez moi sous windows, j'ai aucun soucis mais des que je met à jour la base sur mon hébergement en linux, j'ai toujours des ? à la place des accents, j'ai pas trouver de parade ! sit je donne dans la requete insert le mot ou le defénition avec des accents, j'ai systématiquement des ? sur le site.

par mere-teresa » 29 juin 2005, 09:59

Pourquoi ne pas stocker dans la base avec les accents (ça ne gêne pas SQL, il me semble...) et en sortant les mots remplacer par les entités HTML correspondantes ?

par zeus » 29 juin 2005, 09:58

Il y aurait aussi la solution de rajouter un champ "ordre" numérique dans la bdd et, à chaque fois que tu rajoute un mot dans la bdd, tu trouve son numero d'ordre et tu incrémente tout les suivants, mais :
- lourd à gérer
- même problème pour le tri

par Cobaye » 29 juin 2005, 09:56

c'est tout a fait ce que je pensais faire mais je voulais voir si quelqu'un avait une autre idée ! En plus les 7000 mots sotn en code html vaut que j'implemente le nouveau champ sans le ode html donc faire l'opération inverse du htmlentities !

par zeus » 29 juin 2005, 09:53

Je verrais bien un autre truc, mais ca surcharge ta base aussi, c'est quand tu enregistre un mot, tu as le champ "libellle" qui contient le mot avec accent et un champ "texte" qui contient le mot sans accent et ensuite tu trie sur le champ "texte" et tu devrais tout avoir dans l'ordre

Pas très optimisé mais je vois rien d'autre pour le moment :oops:

Mumm problème d'order by

par Cobaye » 29 juin 2005, 09:47

Sur mon site perso http://www.olecorre.com si vous afficher une lsite de mot vous constaterez que l'ordre est pas bon pourtant y a un order by, le problème vient que pour les accents ils sont mis en codes html ce qui fausse l'ordre les mot avec accent passe avant exemple flagrant sur la lettre R.

Quelqu'un aurai une idée pour avori un bon ordre ? le tout en sql
Moi à part faire un champ qui comprend les mots avec accents et non le code html je vois pas, mais ca alourdirai la base.