ajout de texte dans un champ...

  • Créateur du sujet Créateur du sujet Halbert
  • Date de début Date de début
A

Anonyme

Invité
Bonjour

Je récupère du texte à partir d'un formulaire. Ce texte est envoyé dans un champ XXX de la table de ma bdd :

$rq="UPDATE MaTable SET XXX='$XXX' WHERE Nom LIKE...

Quelle instruction écrire pour que lors d'une deuxième connexion de la même personne, le texte s'ajoute au précédent dans le même champ ?

Merci

Albert
 
le plus simple :
Bloc de code:
UPDATE MaTable SET XXX= CONCAT( XXX, '$XXX') WHERE Nom LIKE...

mais attention à la taille et type des champs..

PS : tu peux concaténer ainsi autant de paramètres que tu veux
PSS : tu as aussi CONCAT_WS si tu veux un séparateur entre les paramètres
 
le plus simple :
Bloc de code:
UPDATE MaTable SET XXX= CONCAT( XXX, '$XXX') WHERE Nom LIKE...

mais attention à la taille et type des champs..

PS : tu peux concaténer ainsi autant de paramètres que tu veux
PSS : tu as aussi CONCAT_WS si tu veux un séparateur entre les paramètres

Merci, la fonction est la bonne mais dans CONCAT( XXX, '$XXX')... le premier XXX n'est pas reconnu. Où fais je une erreur ?
Albert
 
le plus simple :
Bloc de code:
UPDATE MaTable SET XXX= CONCAT( XXX, '$XXX') WHERE Nom LIKE...

mais attention à la taille et type des champs..

PS : tu peux concaténer ainsi autant de paramètres que tu veux
PSS : tu as aussi CONCAT_WS si tu veux un séparateur entre les paramètres

J'ai trouvé : ça ne marche pas quand le champ est NULL au départ.
J'imagine que je peux insérer n'importe quoi, la date de l'ajout par exemple ?
Et comment imposer un renvoi à la ligne à chaque nouvel insert ?
Merci

Albert
 
oui, il faudrait rajouter un test pour savoir si une ligne avec un champ XXX existe deja ds la base, si non on ne fait qu'un insert, si oui on fait la concatenation.

pour imposer un saut de ligne, c'est la l'utilite de ws_concat par ex en faisant
CONCAT_WS('\n', XXX, '$XXX')


PS : sinon, moins pratique et un peu plus lent mais peut etre plus facilement ajustable : via php : tu recupere le ocntenu, tu concatene ta chaine com tu veux et tu rebalance en bdd une fois que c'est pret
 
oui, il faudrait rajouter un test pour savoir si une ligne avec un champ XXX existe deja ds la base, si non on ne fait qu'un insert, si oui on fait la concatenation.

pour imposer un saut de ligne, c'est la l'utilite de ws_concat par ex en faisant
CONCAT_WS('\n', XXX, '$XXX')


PS : sinon, moins pratique et un peu plus lent mais peut etre plus facilement ajustable : via php : tu recupere le ocntenu, tu concatene ta chaine com tu veux et tu rebalance en bdd une fois que c'est pret


Ok, merci beaucoup pour tout ceci.
Albert