Hallo,
Ik heb een MySQL query die 13 sec duurt nu is mijn vraag kan ik 1e gewoon mijn html pagina en dat die query op de achtergrond wordt uitgevoerd en als hij dan klaar laat ie zien wat ie terug heeft gehad.
4.065 views
Peter de Beer op 19/11/2013 11:39:32
Ik heb 4,5 miljoen rije en elek rij vergelijk ik met 50.000 rije uit een andere tabel dus vandaar
Kris Peeters op 19/11/2013 13:12:43
[quote="Peter de Beer op 19/11/2013 11:39:32"]
Ik heb 4,5 miljoen rije en elek rij vergelijk ik met 50.000 rije uit een andere tabel dus vandaar
Peter de Beer op 19/11/2013 13:26:41
Wat? heb je iets te koop ?
<?php
if (!empty($_GET['ajax'])) {
// ajax verzoek
// $_GET['index'] is eerst 0, dan 1, dan 2 ...
if ($_GET['index'] > 10) {
echo -1;
exit;
}
sleep(1); // bij jou duurt 1 tiende van jouw query ongeveer een seconde
echo '$_GET["index"]: ' . $_GET['index'];
exit; // nooit vergeten na een Ajax verzoek. Anders wordt de rest van de code nog uitgevoerd
}
?>
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
var index = 0;
$(document).ready(function() {
var button = $('#button');
var messages = $('#messages');
// events
button.on('click', function(e) {
trigger_sql();
});
function trigger_sql() {
$.ajax({
url: '?ajax=1',
data: {index: index},
success: function (data) {
if (data == -1) { // indien de server -1 terug geeft, zien we dit als een resultaat om te stoppen
return;
}
else {
messages.html(
'bericht van de server: ' + data
+ '<br> progress: ' + (100 * index / 10) + '%'
);
}
index++;
trigger_sql();
}
});
}
});
</script>
</head>
<body>
<input type="button" id="button" value="KLIK">
<div id="messages"></div>
</body>
</html>