Comment puis-je lancer une requête MySQL uniquement lorsque ma page est complètement chargée?
J'ai besoin de ça car ma requête impacte beaucoup de données et augmente le temps de chargement de la page pour mon visiteur: /
J'ai essayé avec ce code sans succès =>
<script type="text/javascript">
$(window).load(function() {
<?php
include(BASE . "sql-query.php");
?>
});
</script>
Réponses:
1 pour la réponse № 1En supposant que le fichier contenant la requête est sql-query.php, utilisez ce code (ps: n'oubliez pas d'inclure la bibliothèque jquery!):
[into <head>]
<script type="text/javascript">
$(window).load(function() {
$("#query").load("sql-query.php");
});
</script>
[into <body>]
<div id="query">Loading...</div>
1 pour la réponse № 2
Cela ne fonctionnera pas comme prévu.
PHP
est serveur et HTML
/Javascript
est clientside. Cela signifie que tout PHP
est chargé et exécuté au moment où JavaScript doit effectuer son travail.
Vous devriez lire sur ajax. Il s'agit d'une fonctionnalité JavaScript qui récupère des informations / données d'autres ressources. Vous pouvez charger la page entière, afficher un symbole "Loading", exécuter la requête ajax et attendre la réponse.
jQuery.ajax est un bon endroit pour commencer.
0 pour la réponse № 3
En supposant sql-query.php
renvoie quelque chose, essayez ceci:
$.(document).ready(function() {
$.ajax({
url: "sql-query.php",
success: function (data) {
// Manipulate data here
}
});
});