concaténation

Eléphanteau du PHP | 16 Messages

02 avr. 2006, 11:37

Bonjour
J'ai une table mysql avec 2 champs NOM et PRENOM.
J'ai créé un 3ème champ NOM_PRENOM dans lequel je voudrais donc concaténer NOM et PRENOM
j'ai essayé

Code : Tout sélectionner

UPDATE table set 'NOM_PRENOM'='NOM'&"PRENOM"

mais je ne dois pas utiliser le bon opérateur.
Est-ce que quelqu'un aurait une idée ?
Merci

Mammouth du PHP | 19672 Messages

02 avr. 2006, 11:51

Utilise la fonction SQL CONCAT :

Code : Tout sélectionner

UPDATE table SET `NOM_PRENOM` = CONCAT(`NOM`, `PRENOM`);
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 16 Messages

02 avr. 2006, 12:03

merci

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

02 avr. 2006, 13:08

je ne dois pas utiliser le bon opérateur
En fait le bon opérateur c'est || mais MySQL l'interprète comme s'il s'agissait de l'opérateur logique "OU" ("OR" en VO) à moins que PIPES_AS_CONCAT ne soit compris dans le mode SQL. Suivant ton serveur de base de données c'est ce qu'il faudra que tu utilises (idéalement c'est ce que tout le monde devrait utiliser :?).

Eléphanteau du PHP | 16 Messages

05 avr. 2006, 18:54

Dans ce cas, peut-on avoir par souci de présentation
'nom' espace 'prénom' C'est plus esthétique dans une liste déroulante.

Mammouth du PHP | 19672 Messages

05 avr. 2006, 18:58

Ben ajoute un espace ;)

Code : Tout sélectionner

UPDATE table SET `NOM_PRENOM` = CONCAT(`NOM`, ' ', `PRENOM`);
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

05 avr. 2006, 19:07

AARGH, je viens de relire le premier post... tu veux créer un 3ème champs ? Pourquoi ne pas utiliser PHP pour afficher le nom et le prénom ? c'est la meilleure façon de faire.
echo $nom, ' ', $prénom;