Requête UPDATE fonctionne pas bien

WRInaute discret
Bonjour,

Pour mettre à jour des données, j'ouvre un lien dans une fenetre popup avec un formulaire dans lequel je fais un UPDATE dans mysql et ensuite je fais un window.opener.location.href='main.php?do=liste' pour rafraichir ma page principale, la page principale se recharge mais les données ne se mettent pas à jour je suis obligé de faire click droit > rafraichir
:? hurgg ça m'énerve !!

est ce que par hasard quelqu'un aurait une idée parce que là j'en perd mon PHP ! :)

merci d'avance
 
WRInaute discret
ben ça s'rait t'y pas plutôt une histoire de cache pas rafraichit dans ton navigateur ça ? (essaie avec un meta no-cache dans ta page pour tester. ou en virant la mise en cache de ton navigateur pour voir)


Sinon, on pourrait envisager aussi une histoire de base MySQL qui a pas le temps de se mettre à jour le temps que ton javascript relance ta page. (si la requête n'est pas terminée quand tu charges ta page automatiquement, forcément t'a pas les infos à jours ;)
 
WRInaute discret
toujours pareil avec window.opener.location.reload()

je me demandais si avec la requête UPDATE il fallait pas ajouter
une autre reqête un peu comme commit sous Oracle ??
:?
 
WRInaute passionné
franck05 a dit:
toujours pareil avec window.opener.location.reload()

je me demandais si avec la requête UPDATE il fallait pas ajouter
une autre reqête un peu comme commit sous Oracle ??
:?

C'est quoi ton code exactement ?
 
WRInaute discret
ben y'en a beaucoup tout est dans la meme page et j'utilise un switch($_GET[do]) pour savoir ce qu'il faut faire :

case "modifLocaliSave":
$sql = "UPDATE localisation SET nom ='".$_POST['nom']."', webcurl ='".$_POST['webcurl']."', webcimg ='".$_POST['webcimg']."', ";
$sql .= " idm ='".$_POST['idm']."' WHERE idl='".$_POST['idl']."'";
mysql_query($sql) or die ("Erreur sql : $sql<br>");

$page .= "<center><br><br>Données mises à jour.</center><script>window.opener.location.reload();setTimeout('window.close();',500);</script>";
break 1;

voilà ça ressemble à ça !! :lol:
 
WRInaute discret
je metterais bien ton setimeout avant le reload, histoire d'avoir une petite temporisation entre le moment ou ta requête est faite et celui où ta page est rafraichie, car à mon avis, là ta page commence à être rafraichie alors que le serveur mysql est seulement en train de faire la requête...
 
WRInaute discret
ben j'ai déjà essayé ça :

<script>setTimeout('',2000);window.opener.location.reload();setTimeout('window.close();',500);</script>

mais ça veux pas, et j'ai la meme requete quelque ligne plus haut mais avec un INSERT et ça fonctionne !

un truc de 'ouf ! 8O

:(

je me demande si il n'y aurait pas une requête de plus à faire au niveau de la base ...
 
Discussions similaires
Haut