Modifier expression base de données

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 : Modifier expression base de données

Re: Modifier expression base de données

par fabrice88250 » 21 janv. 2010, 23:07

OUiiii merci beaucoup. vous m'avez fait gagner des heures de boulot. Merci bien.

Re: Modifier expression base de données

par Ryle » 19 janv. 2010, 22:32

En fait, la syntaxe de l'update SQL est la suivante :
UPDATE ta_table SET ton_champ = ta_valeur 
Dans ton cas, "ta_valeur" correspond à "ton_champ" dans lequel tu remplaces une chaine par une autre, soit :
UPDATE IWgalerie SET description = REPLACE(description, 'la voiture jaune', 'le camion rouge');
Littéralement : "MET A JOUR LA TABLE IWgalerie RENSEIGNE LES CHAMPS description AVEC la valeur initiale du champ description, dans lequel tu remplaces la chaine 'la voiture jaune' par 'le camion rouge' :)

Re: Modifier expression base de données

par fabrice88250 » 19 janv. 2010, 12:45

bonjour et merci
avant de tester pourriez vous me dire si le 1er description et celui du nom de la table ou si c'est le nom du champ. Idem pour le deuxieme descritpion

car ma table s'appelle IWgalerie et les infos a modifiées sont dans le champ description.
Comme je ne peu pas testé en local j'ai fait un sauvegarde mais je voudrais tout de meme etre sur.
dois-je ecrire la requet :
UPDATE TABLE SET IWgalerie= REPLACE(description, 'la voiture jaune', 'le camion rouge');

Re: Modifier expression base de données

par Skikit » 18 janv. 2010, 01:51

Wahou, je ne connaissais pas... Trop habitué à sql server.
Merci Ryle, tu viens de me donner des idées.

Re: Modifier expression base de données

par Ryle » 17 janv. 2010, 19:12

Pour aller plus vite, tu peux également utiliser la fonction replace() de MySQL
UPDATE table SET description = REPLACE(description, 'la voiture jaune', 'le camion rouge');

Re: Modifier expression base de données

par Skikit » 17 janv. 2010, 17:44

Salut,

Si c'est une requête que tu veux, qu'est ce que ton message fait dans la rubrique php ?
Ta demande est réalisable avec php ou encore avec une procédure mysql (utilisation de cursor).
Je pense que c'est la partie php qui t'intéresse donc je vais te dire comment j'aurais fait :
<?php
$req = mysql_query("select id, description from table");
while($r = mysql_fetch_array($req))
{
	if(strpos($r['description'], "la voiture jaune") !== false)
	{
		$chaine = str_replace("la voiture jaune", "le camion rouge", strpos($r['description']);
		mysql_query("update table set description = '".$chaine."' where id='".$r['id']."'");
	}
}
?>
Attention, je n'ai absolument rien testé et il peut y avoir des erreurs.
Merci de me dire si ça t'aide.

Modifier expression base de données

par fabrice88250 » 17 janv. 2010, 14:54

Bonjour,
dans ma base de données j'ai un champ qui s'appel "description"
dans ce champ j'ai donc des informations avec des descriptions pour chaque enregistrement.

Par exemple pour :
id1 j'ai dans description : "la voiture jaune s'arrete pret de la maison"
id2 j'ai dans description : "la voiture jaune est cassée"
id3 j'ai dans description : "paul est monté dans la voiture jaune qui est garée"
id4 j'ai dans description : "hérvé aime la voiture jaune"
....

je souhaiterai créer un requette qui me permette de remplacer d'un seul coup toutes les infos "la voiture jaune" par "le camion rouge".

Est il possible de faire célà et si oui comment ?

Merci