Ecraser la requete précèdente PHP
jialo
-
fxtaa Messages postés 1050 Date d'inscription Statut Membre Dernière intervention -
fxtaa Messages postés 1050 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je travaille sur une petite application Php/MySQL et je me trouve confronté à un problème :
j'effectue une requete SQL puis affiche le résultat dans un tableau.
Seulement lorsque j'effectue une opération sur page (actualiser, trier une colonne..) la requète se relance et mon tableau est en double, triple .. (si je ne vide pas mes tables)
Quelqu'un a-t-il une idée pour résoudre le probléme?
Merci d'avance
je travaille sur une petite application Php/MySQL et je me trouve confronté à un problème :
j'effectue une requete SQL puis affiche le résultat dans un tableau.
Seulement lorsque j'effectue une opération sur page (actualiser, trier une colonne..) la requète se relance et mon tableau est en double, triple .. (si je ne vide pas mes tables)
Quelqu'un a-t-il une idée pour résoudre le probléme?
Merci d'avance
A voir également:
- Ecraser la requete précèdente PHP
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Requête bloquée par le pare-feu applicatif claranet webfence ✓ - Forum Réseaux sociaux
- Retour a la ligne php - Forum Webmastering
- Alert php ✓ - Forum PHP
6 réponses
Bonjour,
je ne comprend pas bien ton problème, tu modifie ta base ou ? Dans ta page principale ? à partir d'informations que tu récupères d'un POST et si tu fais F5 la requête se relance, c'est bien ça le problème ?
je ne comprend pas bien ton problème, tu modifie ta base ou ? Dans ta page principale ? à partir d'informations que tu récupères d'un POST et si tu fais F5 la requête se relance, c'est bien ça le problème ?
Salut, si la page que tu rafraichie est une page dans laquelle il y a une requette de type "insert" a chaque actualisation de la page tu executeras de nouveau cette requête.
Disons que sur la même page php j'effectue des requete INSERT TO dans deux tables différentes puis une jointure sur une troisième table.
A l'issue de ces insertions, j'affiche le résultat de ma jointure dans un tableau, si je ne vide pas les trois tables, effectivement si je fais F5, les requêtes s'effectuent de nouveau à la suite des précédentes.
Mais ce qui m'embête le plus c'est lorsque que je veux trier mon tableau, c'est un lien qui affiche cette même page et du coup les résultats s'inscrivent plusieurs fois.
Voila, j'espere avoir été plus claire!
A l'issue de ces insertions, j'affiche le résultat de ma jointure dans un tableau, si je ne vide pas les trois tables, effectivement si je fais F5, les requêtes s'effectuent de nouveau à la suite des précédentes.
Mais ce qui m'embête le plus c'est lorsque que je veux trier mon tableau, c'est un lien qui affiche cette même page et du coup les résultats s'inscrivent plusieurs fois.
Voila, j'espere avoir été plus claire!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Il faut partir faire tes insertion sur une page uniquement dédié a cela, et te rediriger vers la page d'affichage avec un header. dissocier insertion et affichage.
Alors j'ai bien compris ce principe de dissocier insertion et affichage.
J'ai donc crée une page insertion avec mes requête INSERT dedans à la fin de laquelle je redirige vers la page affichage grace à la fonction :
<?php
header('Location: /repertoire/mapage.php');
?>
Seulement un message d'erreur s'affiche :
Warning:Cannot modify header information - headers already sent by(output started at C:\wamp\..\affichage_general.php:808) in C:\ma_page_dinsertion.php on line 63.
Je ne comprend pas ce message d'erreur..
J'ai donc crée une page insertion avec mes requête INSERT dedans à la fin de laquelle je redirige vers la page affichage grace à la fonction :
<?php
header('Location: /repertoire/mapage.php');
?>
Seulement un message d'erreur s'affiche :
Warning:Cannot modify header information - headers already sent by(output started at C:\wamp\..\affichage_general.php:808) in C:\ma_page_dinsertion.php on line 63.
Je ne comprend pas ce message d'erreur..
Le header ne doit se faire qu'avant l'exécution de code HTML. Je te conseille plutôt :
où 1500 est le temps en millisecondes avant la redirection
ou un simple :
echo "<script language=javascript>setTimeout(\"window.location='/repertoire/mapage.php'\",1500);</script>";
où 1500 est le temps en millisecondes avant la redirection
ou un simple :
echo "<script language='javascript'>window.location.replace('/repertoire/mapage.php');</script>";
Alors le premier code m'affiche une page blanche :( mais le deuxième marche :)
Pour actualiser c'est donc ok.
Une autre petite question : pour atteindre ce tableau je clique sur un lien de mon menu, si je clique une fois c'est ok, si je quitte la page de mon tableau et reviens dessus via mon menu j'ai le même problème .. puisqu'on passe par la page d'insertion PUIS la page d'affichage.
Comment procéder pour ne passer que par la page d'affichage une fois le tableau construit?
Merci
Pour actualiser c'est donc ok.
Une autre petite question : pour atteindre ce tableau je clique sur un lien de mon menu, si je clique une fois c'est ok, si je quitte la page de mon tableau et reviens dessus via mon menu j'ai le même problème .. puisqu'on passe par la page d'insertion PUIS la page d'affichage.
Comment procéder pour ne passer que par la page d'affichage une fois le tableau construit?
Merci