Notification lorsque le nouvel enregistrement est ajouté dans la base de données php-jquery
J'ai besoin de conseils sur le titre ci-dessus. J'ai le morceau de code suivant :
PHP :
$sql = "SELECT * FROM i_case";
$qry = pg_query($connection, $sql);
$res = pg_num_rows($qry);
$sql_1 = "SELECT * FROM i_case";
$qry_1 = pg_query($connection, $sql_1);
$res_1 = pg_num_rows($qry_1);
do {
echo "new record on i_case";
} while($res != $res_1 and !(usleep(10000)));
JQUERY :
setInterval(function(){
$.ajax({
type : "POST",
url : "file.php",
success : function(response){
alert(response);
}
});
},1000);
Ce n'est pas un travail que j'attend.
Je ne sais pas où est la question à partir du code?
ce que l'exception? je ne comprends pas?
la réponse est -> nouveau record sur i_case
mais il n'y a pas de nouveau record sur la table... pas d'erreur! j'ai mis
si xdazz répondu travaillé pour vous, puis d'accepter sa réponse..
la réponse est -> nouveau record sur i_case
mais il n'y a pas de nouveau record sur la table... pas d'erreur! j'ai mis
error: function(){ alert("ERROR"); }
si xdazz répondu travaillé pour vous, puis d'accepter sa réponse..
OriginalL'auteur Jin Sun | 2012-01-27
Vous devez vous connecter pour publier un commentaire.
Votre boucle même de ne pas exécuter une fois parce que
$res
est de même avec$res_1
dans presque tous les cas. Si la boucle s'exécute, c'est une horrible boucle infinie.Ce que vous devez faire est comme ci-dessous.
Le javascript:
Et le code PHP:
mais, lorsque j'actualise la page, la dernière notification s'affiche de nouveau et de nouveau, un conseil?
vous pouvez charger l'enregistrement initial compter de la première pas seulement mis à 0.
OriginalL'auteur xdazz
Une petite astuce pour xdazz réponse. Pour éviter d'alerte pour la première fois lors du chargement de la page.
Code JS:
Code PHP:
P. S. Mon premier Stackoverflow réponse.
OriginalL'auteur Siddharth Mahajan
Je pense que l'ensemble de votre approche ne fonctionnera pas. Je suggère, PHP de générer seulement le nombre et le JS pour vérifier si elle a changé.
et en JS, vous pourriez faire somesthing comme ceci:
-1
est juste une initialisation de la valeur, afin de prévenir laalert
lors de la première exécution de la fonction. Après la 1ère,count_cases
est initiée avec, disons - 50 et la fonction de déclenchement de l'alerte, dès que le PHP renvoie un nombre != 50 (probablement > 50?)btw: Un
SELECT
de compte le nombre de lignes est très inefficace. Jetez un oeil sur leCOUNT
déclaration dans xdazz réponseok, j'ai essayé d'ajouter un nouvel enregistrement, mais la notification n'apparaît pas... pourquoi?
OriginalL'auteur DerVO
Avez-vous vérifié la vous êtes connecté à la db?
je veux dire
$connection
variable renvoie vrai?, parce que je n'ai pas trouvé de code en php qui se connecte à la base de données.Si vous pouviez dire la quelle est la réaction que vous obtenez à partir de la fin du serveur, alors je peux vous aider peu plus.
OriginalL'auteur VKGS