UPDATE de plusieurs enregistrements dans une boucle

cs_kd Messages postés 12 Date d'inscription mardi 17 août 2004 Statut Membre Dernière intervention 7 octobre 2004 - 23 août 2004 à 12:52
cs_kd Messages postés 12 Date d'inscription mardi 17 août 2004 Statut Membre Dernière intervention 7 octobre 2004 - 23 août 2004 à 13:39
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

coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
23 août 2004 à 13:04
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???"
0
cs_kd Messages postés 12 Date d'inscription mardi 17 août 2004 Statut Membre Dernière intervention 7 octobre 2004
23 août 2004 à 13:07
OK, j'essaie çakd
0
flashfun Messages postés 296 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 11 septembre 2004
23 août 2004 à 13:08
Sinon, tu as fait un echo $sql2; ?

FlashFun 8-) [mailto:toujours_zen@hotmail.com :question) ]
0
cs_kd Messages postés 12 Date d'inscription mardi 17 août 2004 Statut Membre Dernière intervention 7 octobre 2004
23 août 2004 à 13:12
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_lotr Messages postés 128 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 12 août 2005
23 août 2004 à 13:15
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
0
flashfun Messages postés 296 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 11 septembre 2004
23 août 2004 à 13:16
Tu te moque ?

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

FlashFun 8-) [mailto:toujours_zen@hotmail.com :question) ]
0
cs_kd Messages postés 12 Date d'inscription mardi 17 août 2004 Statut Membre Dernière intervention 7 octobre 2004
23 août 2004 à 13:28
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
0
flashfun Messages postés 296 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 11 septembre 2004
23 août 2004 à 13:33
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) ]
0
cs_kd Messages postés 12 Date d'inscription mardi 17 août 2004 Statut Membre Dernière intervention 7 octobre 2004
23 août 2004 à 13:34
J'ai fait une erreur de syntaxe, donc je reprends :


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


kd
0
flashfun Messages postés 296 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 11 septembre 2004
23 août 2004 à 13:36
Cf au dessus!

FlashFun 8-) [mailto:toujours_zen@hotmail.com :question) ]
0
cs_kd Messages postés 12 Date d'inscription mardi 17 août 2004 Statut Membre Dernière intervention 7 octobre 2004
23 août 2004 à 13:39
Oh! désolée! :blush) chui confuse!! merci tout de même.
kd
0
Rejoignez-nous