Aller au contenu

Probleme avec un UPDATE


Sujets conseillés

Posté

Bonjour tous le monde,

Encore un petit soucis, cette fois avec un requete UPDATE.

Mon but est de faire en sorte qu'a chaque clic sur un bouton une table contenu se copie dans une table contenu_temp.

Voila ma requette :

if(empty($err)){	
$sql2 = "SELECT * FROM contenu";
$query2 = mysql_query($sql2);
while($data2 = mysql_fetch_array($query2)){

$id = $data2['Id'];
$contenu = $data2['Contenu'];
$cat = $data2['Categorie'];
$page = $data2['Page'];


$sql3 = "UPDATE contenu_temp SET Categorie='$cat',Page='$page',Contenu='$contenu' WHERE Id='$id'";
mysql_query($sql3);

}
}

Alors quand je fait un echo de $sql3, le contenu affiché est le bon par contre il ne me le rentre pas en bdd, donc d'apres moi un soucis avec le mysdql_query mais je ne voit pas mon erreur.

Merci d'avance.

Posté

Re bonjour,

Apres quelques test je viens de me rendre compte que la requette fonctionne mais une fois sur deux.

Enfait sur mes 10 entrée il me fait un update sur la 1, 3, 5, 7 ,9 et les autres non.

Alors la par contre je suis perdus, si vous avez une solution je suis preneur.

Merci

Posté

Pourquoi ne copierais-tu pas la table entière, plutôt que ses éléments un par un ? Le traitement en serait grandement accéléré, vu que tu ne ferais plus q'une requête (éventuellement deux, la première pour vider la table temporaire), au lieu d'une requête par enregistrement.

Posté

L'Id existe bien car au tout début j'ai copié ma table contenu dans ma table contenu_temp donc les 10 Id sont déja present mais il ne m'en modifie que 1 sur 2.

Posté

Et j'espère que ce n'est pas une copie de toute la table, parce que c'est pas vraiment top comme système

Dans les valeurs des champs categorie et contenu, tu n'aurais pas des ' par hasard??

Posté

Bonjour,

Insert into contenu_temp 
Select * from contenu

En veillant à se que les 2 tables est une structure identique.

Portekoi

Posté

Non il n'y a pas de ' dans mes champs.

Les deux tables ont apparament une structure identique.

Je e comprend pas pourquoi il en prend toujours que une sur deux.

Posté

Ben avec ta requete le soucis c'est qu'une fois que je l'aurais fait je pourrais plus la mettre a jour vu qu'elle utilise pas un UPDATE.

A par si j'ai loupé quelque chose.

Posté (modifié)

Je viens de tester, donc ça fonctionne si ma table est vide, mais une fois qu'elle s'est remplie elle ne se remet pas a jour quand je recommence

Modifié par Portekoi
Texte initiale de Hugo : "cela ne fonctionne pas" puis le post ci-dessus.
Posté

As tu une erreur, un message etc? Désolé, j'ai oublié ma boule de cristal...

Avec ma technique, tu vides la table avec un

truncate table contenu_temp ;

et tu la remplies avec :

Insert into contenu_temp 
Select * from contenu;

Posté

Oui en recherchant un peu sur le net j'ai trouvé la requete pour purger la table donc maintenant oui ça marche parfaitement.

Merci beaucoup.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...