UPDATE de plusieurs enregistrements dans une boucle

Signaler
Messages postés
12
Date d'inscription
mardi 17 août 2004
Statut
Membre
Dernière intervention
7 octobre 2004
-
Messages postés
12
Date d'inscription
mardi 17 août 2004
Statut
Membre
Dernière intervention
7 octobre 2004
-
Bonjour à tous, j'essaie depuis un bout de temps de modifier un ensemble d'enregistrement dans une base à l'intérieur d'une boucle mais j'ai une erreur de type sql et aucun champ n'est modifié. J'ai testé les modifs apportées et c'est ok, c'est l'insertion qui ne fonctionne pas. Voici mon script. Merci d'avance.

Code:
$sql="SELECT Auteur, NumAuteur FROM auteurs";
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());

echo '<table border="1" cols="5"><tr>';
while($data = mysql_fetch_array($req))
{

$id=$data['NumAuteur'];
//Modification et affichage des noms des auteurs
echo '<td>'.$data['Auteur'].'</td>';
$nom=$data['Auteur'];
$nom=trim($nom);
$nom=str_replace("."," ",$nom);
$nom=str_replace(" -",".-",$nom);

echo '<td>'.$nom.'</td>';

$dernier=$nom[strlen($nom)-1];

echo '<td>'.$dernier.'</td>';

$dernier2=$dernier.".";
echo '<td>'.$dernier2.'</td>';

$nom=str_replace($dernier,$dernier2,$nom);
$nom2=addslashes($nom);

echo '<td>Nouveaux noms : '.$nom2.'</td></tr>';

//Remplacement des données dans la base
$sql2="REPLACE INTO auteurs(Auteur) VALUES ('$nom2')";
$req2 = mysql_query($sql2) or die('Erreur SQL !
'.$sql2.'
'.mysql_error());

kd

11 réponses

Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!
Pour remplacer tu fais comme ca (normalement):
UPDATE table SET champ='valeur', champ2='valeur2' WHERE condition

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
12
Date d'inscription
mardi 17 août 2004
Statut
Membre
Dernière intervention
7 octobre 2004

OK, j'essaie çakd
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004

Sinon, tu as fait un echo $sql2; ?

FlashFun 8-) [mailto:toujours_zen@hotmail.com :question) ]
Messages postés
12
Date d'inscription
mardi 17 août 2004
Statut
Membre
Dernière intervention
7 octobre 2004

J'ai essayé ceci :
sql2="UPDATE auteurs SET='$nom2'";
$req2 = mysql_query($sql2) or die('Erreur SQL !
'.$sql2.'
'.mysql_error());

Et j'obtiens ça :
Erreur SQL !
UPDATE auteurs SET='A.utret A.'
Erreur de syntaxe près de '='A.utret A.'' à la ligne 1

kd
Messages postés
128
Date d'inscription
mardi 11 mai 2004
Statut
Membre
Dernière intervention
12 août 2005

Bonjour,
comme te l'a dit coockiesch la syntaxe de la requête est :

UPDATE ta_table SET nom_de_ton_champ='valeur_à_insérer' WHERE ta_condition
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004

Tu te moque ?

UPDATE table SET champ='valeur', champ2='valeur2' WHERE condition

FlashFun 8-) [mailto:toujours_zen@hotmail.com :question) ]
Messages postés
12
Date d'inscription
mardi 17 août 2004
Statut
Membre
Dernière intervention
7 octobre 2004

Rien à faire, ça fait exactement la même chose avec ça :

$sql2="UPDATE auteurs SET='$nom2' WHERE Auteur='$id'";


Mais peut-être que ce n'est pas possible. Ce que je veux faire : j'ai une liste d'auteurs mal orthographiés, je veux modifier la liste automatiquement et remplacer chacun des enregsitrements.

kd
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004

La tu fait exprès?

$sql2="UPDATE auteurs SET Auteur='".$nom2."' WHERE NumAuteur=".$id;

Je te le donne tous fait sinon dans 1 an tu seras toujours la.

FlashFun 8-) [mailto:toujours_zen@hotmail.com :question) ]
Messages postés
12
Date d'inscription
mardi 17 août 2004
Statut
Membre
Dernière intervention
7 octobre 2004

J'ai fait une erreur de syntaxe, donc je reprends :


$sql2="UPDATE auteurs SET Auteur='$nom2' WHERE Auteur='$id'"; 


kd
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004

Cf au dessus!

FlashFun 8-) [mailto:toujours_zen@hotmail.com :question) ]
Messages postés
12
Date d'inscription
mardi 17 août 2004
Statut
Membre
Dernière intervention
7 octobre 2004

Oh! désolée! :blush) chui confuse!! merci tout de même.
kd