Actualiser un champ dans d'une table

noel2008
WRInaute discret
WRInaute discret
 
Messages: 89
Inscription: 16 Nov 2008

Actualiser un champ dans d'une table

Message le Mar Mar 10, 2009 22:56

Je voudrais que tout les champs A de ma table se voient ajouter quelque chose devant et derrière.

Par exemple si la valeur d'un champ A est "Pierre", je veut que ça devienne : "Les jeux de Pierre sont pas chères", si c'est Leo, "Les jeux de Leo sont pas chères", etc.

Je veut donc rajouter devant le champ A "Les jeux de" et mettre à la fin "sont pas chères".

Voici ce que j'ai essayé :

<?php
$requete = mysql_query("SELECT * FROM `nom`");
while($ligne = mysql_fetch_array($requete)) {
$nouveau_texte = "Les jeux de ". $ligne["nom"] ." sont pas chere";
mysql_query("UPDATE `nom` SET `nom`='". $nouveau_texte ."' WHERE id=".$ligne["id"]);
}
?>

Mais ça ne marche pas.
Quelqu'un voit d'où vient le problème et ce qu'il faudrait faire ?

Merci !


nickargall
WRInaute accro
WRInaute accro
 
Messages: 6458
Inscription: 13 Juin 2005

Re: Actualiser un champ dans d'une table

Message le Mer Mar 11, 2009 11:35

Bonjour

essaie
Code: Tout sélectionner
<?php
$requete = mysql_query("SELECT * FROM `nom`");
while($ligne = mysql_fetch_array($requete)) {
$nouveau_texte = "Les jeux de ". $ligne['nom'] ." sont pas chers";
mysql_query("UPDATE `nom` SET `nom`='". $nouveau_texte ."' WHERE id=".$ligne['id']);
}
?>

noel2008
WRInaute discret
WRInaute discret
 
Messages: 89
Inscription: 16 Nov 2008

Re: Actualiser un champ dans d'une table

Message le Mer Mar 11, 2009 12:20

Non, ça ne marche pas non plus : comme précédemment ça modifie le premier champ en remplaçant $ligne['nom'] par "Les jeux de sont pas chères" et pour tout les autres ça ce contente de les effacer sans rien ajouter à la place.

Ça doit être la façon de faire qui n'est pas bonne, mais mes faibles connaissances m'empêchent de voir comment bien m'y prendre différemment :)


Neoxy
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 447
Inscription: 19 Avr 2006

Re: Actualiser un champ dans d'une table

Message le Mer Mar 11, 2009 13:20

Es ce que la colonne dans ta table s'appelle bien "Nom" ?

Car apparemment, il n'arrive pas à lire le contenu de cette colonne...

noel2008
WRInaute discret
WRInaute discret
 
Messages: 89
Inscription: 16 Nov 2008

Re: Actualiser un champ dans d'une table

Message le Mer Mar 11, 2009 14:17

En fait non c'était pour l'exemple.

Voici le bon :
$requete = mysql_query("SELECT * FROM `tsqq`");
while($ligne = mysql_fetch_array($requete)) {
$nouveau_texte = "Tu sais que ".$ligne["nom"]." quand...";
mysql_query("UPDATE `tsqq` SET `tsqq`='".$nouveau_texte."' WHERE id=".$ligne['id']);
}

Mais par contre oui, le champ tsqq à le même nom que la table qui s'appelle aussi tsqq.

Sinon il n'y a pas une autre façon de faire ? En allant directement dans la base de donnée par exemple ?

ZelkiN
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 498
Inscription: 27 Juil 2007

Re: Actualiser un champ dans d'une table

Message le Mer Mar 11, 2009 14:31

euh a mon avis non, tu es limité avec sql pour faire ce genre de chose (peut etre que je me trompe),

une chaine while et php est la meilleur solution, surtout que c'est rapide.




[modéré OTP]

noel2008
WRInaute discret
WRInaute discret
 
Messages: 89
Inscription: 16 Nov 2008

Re: Actualiser un champ dans d'une table

Message le Mer Mar 11, 2009 14:39

Et tu as une idée de comment réussir la boucle ?


zeb
WRInaute accro
WRInaute accro
 
Messages: 4493
Inscription: 5 Déc 2004

Re: Actualiser un champ dans d'une table

Message le Mer Mar 11, 2009 15:06

pas besoins de php pour ça un truc du genre concat va très bien dans phpmyadmin
(vérifie la syntaxe avant, et met un where id = truc pour faire l'essaie sur un seul champ avant de torpiller toute la table ;-)

UPDATE `matable` SET `monchamp`= CONCAT('début du texte', monchamp)
UPDATE `matable` SET `monchamp`= CONCAT(monchamp, 'fin du texte')


nota le nom du champ = le nom de la table c'est pas ça ton problème ?
Dernière édition par zeb le Mer Mar 11, 2009 19:29, édité 1 fois.

noel2008
WRInaute discret
WRInaute discret
 
Messages: 89
Inscription: 16 Nov 2008

Re: Actualiser un champ dans d'une table

Message le Mer Mar 11, 2009 15:51

Je pense que le problème vient de ma concaténation qui est mal faite.

J'ai fait : tsqq = 'Tu sais que' + tsqq
Mais ça me remplace le champ tsqq par 0.

Y a-t-il une autre syntaxe possible ?


zeb
WRInaute accro
WRInaute accro
 
Messages: 4493
Inscription: 5 Déc 2004

Re: Actualiser un champ dans d'une table

Message le Mer Mar 11, 2009 19:28

tu as essayé concat ?

noel2008
WRInaute discret
WRInaute discret
 
Messages: 89
Inscription: 16 Nov 2008

Re: Actualiser un champ dans d'une table

Message le Mer Mar 11, 2009 20:18

Ok effectivement ça marche !

Merci !


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités