Vous n'êtes pas identifié(e).
Pages :: 1
bonjour
sur cette page,
http://www.cyberacteurs.org/actions/lis … .php?id=92
ma requete me renvoie deux ordre alphabétique apparemment si la première lettre du nom est en majuscule ou minuscule
ma requete se termien par
ORDER BY ltrim(signataires.nom) ASC
ltrim car lorsque la personne met un espace devant son nom, l'ordre alpha ne fonctionne plus
comment faire en sorte que l'ordre soit respecté même si minuscule ou majuscule ?
Hors ligne
tu forces la majuscule OU la minuscule rien que dans la recherche ^^
strtolower() / strtoupper()
--> ORDER BY ltrim(strtolower(signataires.nom)) ASC par ex
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
pb, j'ai une erreur sql
cette fonction ne semble pas fonctionner dans une requete sql
Hors ligne
il te manque déjà la jonction ON de ton INNER JOIN ....,et le(s) % de ton LIKE...
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
comme ca, ca devrai mieux fonctionner
LTRIM(UPCASE(signataires.nom))
a++
Hors ligne
même erreur
FUNCTION cyber_2.UPCASE does not exist
j'ai ajouté les % et le on
Hors ligne
en dehors du pb : a quoi te sert : " && verif_petition.id_signataire = signataires.id_signataire " (vu que c'est obligatoirement le cas avec le inner join)
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
ouais, en fait, il faut que je revoie tous mes inner join car je ne metait pas de on mais j'inclait la comparaison dans le where, d'ou ce code
maintenant que j'ai mis on, je pense que je peux effectivement virer celui la
mais cela ne résoudra pas mon pb. j'ai essayé
ltrim(lower(signataires.nom))
pas de messages d'erreur, mais cela ne répare rien, l'ordre alphabétique n'est toujours pas bon
Hors ligne
ça marche avec cela
ltrim(upper(signataires.nom))
merci de vos coup de main
Hors ligne
Bonsoir,
Sinon dans ton charset, choisi en un qui est insensible à la casse, sa simplifie les choses notamment sur les recherches indexées sur un gros volume d'enregistrement, quand celui qui a développé l'application qui exploite la base a eu la fainéantise de ne pas normaliser la saisie des champs et que ceux ci sont enregistrés tel quels dans la base.
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Re,
J'ai oublié un truc, je voulais profiter de l'occasion pour demander quelque chose à debe. Dans ta requête, le premier champ dans ton SELECT s'appele signataires.nom . En général on mets le nom de la table devant le champ par obligation pour bien spécifier à quel table on fait référence et éviter une erreur mysql lors de l'éxécution du a un conflit de nom de champ (même nom de champ en référence dans la requête dans une autre table). Donc à ce stade, notre champ est différencié pour que la requête fonctionne. Là où je ne comprends plus, et c'est un phénomène généralisé ou presque, pourquoi rajouter un alias sur le champ pour remettre l'ambiguïté en le nommant pareil que le champ avec la même casse? : nom .
Rappel : Un alias sert à renommer un champ pour le différencier distinctement des autres.
Moi je dit : Ne vous étonnez pas à force si vos requêtes génèrent des erreurs à tire larigot^^.
Dernière modification par Jc (06-05-2010 23:18:30)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
pour avoir vu pas mal de débutant l'utiliser à tort, je pense que c'est par un soucis de connaissance des bases...
Ils ont souvent tendance à hésiter entre $row['champ'] et $row->champ et font un copier/coller d'exemple plus compliqué (sans intérêt ici)
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
pour ma part, je pensais (je n'ai pas eu le temps de tester ce matin) que pour recupérer signataires.nom, il aurait fallut faire $row['signataires.nom'] donc l'alias me servait a faire uniquement $row['nom']
mais apparemment, je me suis trompé, je dois pouvoir mettre $row['nom'] même sans alias et je corrigerai cela, sur cette page et ... sur les autres. de même, je mettrais ON a mes inner join (et pas cette comparaison dans WHERE) . merci bien :un simple question m'a fait voir plusieurs erreurs.
j'ai pas bien compris l'histoire du charset. pour les nom, j'utilise varchar(35) latin1_bin
que me conseilles-tu ?
Moi je dit : Ne vous étonnez pas à force si vos requêtes génèrent des erreurs à tire larigot^^.
Moi je dis : Ne vous étonnez pas que l'on fasse des connerie si on poste sur phpDEBUTANT .
Hors ligne
SAluton,
En SQL le ET logique se traduit par AND et non par &&
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Je n'ai pas de conseil à te donner, si ce n'est peut être d'utiliser UTF-8 car cela permet à ton applicatif de rester compatible avec une globalisation généralisée (ca englobe tous les alphabets mondiaux niveau codage) et c'est le standard sur tous les nouveaux applicatifs. Pour que ton codage soit insensible à la casse suffit d'en choisir un en _ci (case insensitive).
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
ok, merci bien. je ne pensais pas avoir tout cela comme défaut pour un script qui fonctionnait !!
je m'en vais coriger tout cela ... sur cette page et bien d'autre. merci les gars pour le boulot
Hors ligne
Bonjour,
pour ma part, je pensais (je n'ai pas eu le temps de tester ce matin) que pour recupérer signataires.nom, il aurait fallut faire $row['signataires.nom'] donc l'alias me servait a faire uniquement $row['nom']
Je vais quand même t'apporter une précision sur ce point. Tu as raison sur le fait que l'alias te permets de faire $row['nomalias"], mais il ne faut pas oublier la logique de la requête pour autant. Si tu veux mettre un alias (tu en as le droit), et par rapport à mon précédent post, mets par exemple sign_nom en alias ou n'importe quel autre du moment ou il ne crée par d'ambiguïté au niveau de ta requête.
Moi perso j'utilise mysql_fetch_row(), moins gourmand en ressources et la numérotation de tes colonnes se fait de 0 à nbcol-1, et tu n'as pas besoin de te préocupper du nom de tes champs. Pourtant j'utilise quand même assez régulièrement les noms d'alias dans mes requêtes.
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
merci pour ces précisions. .. j'ai du boulot pour être propre et efficace!!
Hors ligne
Pages :: 1