Remplacement de données

Mammouth du PHP | 620 Messages

26 avr. 2010, 11:01

Bonjour,

dans une base sql je souhaiterai dans un champ modifier toutes les lignes ayant pour contenu "la montagne enneigée" par "hiver dans les Vosges".
J'ai donc ma table galerie et dans cette table plusieurs champs dont un qui s'appel "type"
j'ai bien une idée de la requette mais j'aurai besoin d'un coup de main car c'est pas au point.
<?PHP
include("../connexion-sql.php");
if (type == "la montagne enneigée")
{
$sql = "UPDATE IWgalerie SET  type = 'hiver dans les Vosges'" ; 
$requete = mysql_query($sql) or die( mysql_error() ) ;
if($requete)
{
echo('<img src="../images/check.png" /> La modification a bien été effectuée') ;
 }
 else
 {
echo('<img src="../images/close.png" /> La modification à échouée') ;
}

}

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

26 avr. 2010, 11:05

UPDATE IWgalerie SET  type = 'hiver dans les Vosges' WHERE type='la montagne enneigée'
Pour vérifier ce qui va être modifié :
SELECT * FROM IWgalerie WHERE type='la montagne enneigée'
Au passgae, est-ce que ce "type" ne devrait pas être dans une autre table, avec une jointure entre IWgalerie et celle-ci ? :)

Mammouth du PHP | 620 Messages

26 avr. 2010, 11:47

oui c'est vrai que je devrait utilisé une autre table et je vais aussi me pencher dessus car ma galerie commence être assez grosse et je voudrai faire ça bien.

pour l'UPDATE sa ne fonctionne pas je n'ai aucune modification qui se fait dans ma bdd.

j'ai créé un fichier update.php dans lequel j'ai mis :
<?PHP
include("connexion-sql.php");

$sql = "UPDATE IWgalerie SET  type = 'VTT' WHERE type='Velo VTT'" ; 
$requete = mysql_query($sql) or die( mysql_error() ) ;
?>

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

26 avr. 2010, 11:53


Mammouth du PHP | 620 Messages

26 avr. 2010, 12:07

j'ai suivi le lien fait afficher la requette.
je n'ai pas de messages d'erreur et pourtant aucune modifications ne se fait.
<?PHP
include("connexion-sql.php");
$requeteSQL = "UPDATE IWgalerie SET  type = 'VTT' WHERE type='Velo VTT'" ; 
mysql_query($requeteSQL) or die (mysql_error());
echo $requeteSQL;
?>
j'ai
UPDATE IWgalerie SET type = 'VTT' WHERE type='Velo VTT'
comme resultat

ma version est phpMyAdmin 2.11.3deb1ubuntu1.3
et pour php c'est PHP Version 5.2.4-2ubuntu5.10

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

26 avr. 2010, 12:09

Ben fais le SELECT pour voir les lignes qui correspondent à ton critère.

Mammouth du PHP | 620 Messages

26 avr. 2010, 12:22

OK c'est bon merci pour votre aide. J'avai interverti mes données dans ma requette et donc pas de modification sur quelque chose qui n'exitait pas.