het Pushen van nieuwe gegevens
Is het mogelijk om de nieuwe gegevens in een database te pushen naar de client-side? Zoja, welke taal is dit het handigst in. Ik zat zelf te denken aan AJAX of JQuery.
Php is daar nooit voor bedoelt. Een aantal minuten kan een script wel draaien, maar niet langer. Dan kom je in de knoop met dat het geheugen vol raakt, of dat er gewoon random fouten ontstaan.
IRC bots in php geschreven zijn om dezelfde rede onzin.
Gewijzigd op 01/01/1970 01:00:00 door Stefan
Over het algemeen wordt er via XHR request een div geupdate.
Dat is goed te doen voor een chatscript.
Het voordeel van ajax is dat het php script maar eventjes draait.
Ik heb ook nog nooit met Ajax gewerkt, dus vandaar dat ik dit doe. Om mijn talenpakket uit te breiden met Ajax. Maar toch bedankt voor je reactie. Ik zal mij eerst wat meer verdiepen in Ajax.
'Asynchronous Javascript + Xml'.
Als je tutorials door leest e.d. dan zul je het wel snappen.
Ja, dat wist ik al. Maar heb o.a me nog niet echt verdiepts in javascript. De basics ken ik al. Maar wil graag wat meer leren. Ik gebruik w3schools voor al mijn leerstof =p
Zoals je eerder al aangaf, jQuery te gebruiken is erg handig. Met jQuery hoef je de meet voorkomende dingen niet zelf opnieuw te schrijven. Ook is het gebruik dan vaak versimpelt. (Zij hebben al de code voor een request geschreven. Jij moet alleen opgeven wat voor type request je doet.)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<html>
<head>
<script type="text/javascript">
var xmlhttp;
function showHint(str) {
if(str.length == 0) {
document.getElementById("txtHint").innerHTML = "";
return;
}
xmlhttp = GetXmlHttpObject();
if(xmlhttp == null) {
alert("Your browser is not compatible with this website.\r\nPlease, I recommend using FireFox or Google Chrome");
return;
}
var url = "gethint.php";
url = url+"?q="+str;
url = url+"&sid="+Math.random();
xmlhttp.onreadystatechange = stateChanged;
xmlhttp.open("GET", url, true);
xmlhttp.send(null);
}
function GetXmlHttpObject() {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject) {
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
function stateChanged() {
if (xmlhttp.readyState==4) {
document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
}
}
</script>
</head>
<body>
<form>
First Name: <input type="text" id="txt1" onkeyup="showHint(this.value)" />
</form>
<p>Suggestions: <span id="txtHint"></span></p>
</body>
</html>
<head>
<script type="text/javascript">
var xmlhttp;
function showHint(str) {
if(str.length == 0) {
document.getElementById("txtHint").innerHTML = "";
return;
}
xmlhttp = GetXmlHttpObject();
if(xmlhttp == null) {
alert("Your browser is not compatible with this website.\r\nPlease, I recommend using FireFox or Google Chrome");
return;
}
var url = "gethint.php";
url = url+"?q="+str;
url = url+"&sid="+Math.random();
xmlhttp.onreadystatechange = stateChanged;
xmlhttp.open("GET", url, true);
xmlhttp.send(null);
}
function GetXmlHttpObject() {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject) {
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
function stateChanged() {
if (xmlhttp.readyState==4) {
document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
}
}
</script>
</head>
<body>
<form>
First Name: <input type="text" id="txt1" onkeyup="showHint(this.value)" />
</form>
<p>Suggestions: <span id="txtHint"></span></p>
</body>
</html>
En gethint.php:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");
$a[]="Anna";
$a[]="Brittany";
$a[]="Cinderella";
$a[]="Diana";
$a[]="Eva";
$a[]="Fiona";
$a[]="Gunda";
$a[]="Hege";
$a[]="Inga";
$a[]="Johanna";
$a[]="Kitty";
$a[]="Linda";
$a[]="Nina";
$a[]="Ophelia";
$a[]="Petunia";
$a[]="Amanda";
$a[]="Raquel";
$a[]="Cindy";
$a[]="Doris";
$a[]="Eve";
$a[]="Evita";
$a[]="Sunniva";
$a[]="Tove";
$a[]="Unni";
$a[]="Violet";
$a[]="Liza";
$a[]="Elizabeth";
$a[]="Ellen";
$a[]="Wenche";
$a[]="Vicky";
$q = $_GET['q'];
if(strlen($q) > 0) {
$hint = "";
for($i=0; i<count($a); $i++) {
if(strtolower($q) == strtolower(substr($a[$i], 0, strlen($q)))) {
if($hint == "") {
$hint = $a[$i];
} else {
$hint = $hint.", ".$a[$i];
}
}
}
}
if($hint == "") {
$response = "No Suggestion Found";
} else {
$resposne = $hint;
}
echo $response;
?>
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");
$a[]="Anna";
$a[]="Brittany";
$a[]="Cinderella";
$a[]="Diana";
$a[]="Eva";
$a[]="Fiona";
$a[]="Gunda";
$a[]="Hege";
$a[]="Inga";
$a[]="Johanna";
$a[]="Kitty";
$a[]="Linda";
$a[]="Nina";
$a[]="Ophelia";
$a[]="Petunia";
$a[]="Amanda";
$a[]="Raquel";
$a[]="Cindy";
$a[]="Doris";
$a[]="Eve";
$a[]="Evita";
$a[]="Sunniva";
$a[]="Tove";
$a[]="Unni";
$a[]="Violet";
$a[]="Liza";
$a[]="Elizabeth";
$a[]="Ellen";
$a[]="Wenche";
$a[]="Vicky";
$q = $_GET['q'];
if(strlen($q) > 0) {
$hint = "";
for($i=0; i<count($a); $i++) {
if(strtolower($q) == strtolower(substr($a[$i], 0, strlen($q)))) {
if($hint == "") {
$hint = $a[$i];
} else {
$hint = $hint.", ".$a[$i];
}
}
}
}
if($hint == "") {
$response = "No Suggestion Found";
} else {
$resposne = $hint;
}
echo $response;
?>
Error: Fatal error: Maximum execution time of 30 seconds exceeded in C:\web\apache\htdocs\ajax\suggestions\gethint.php on line 41
BTW, de foutmelding geeft zelf al aan dat hij blijft steken op lijn 41, dus had je zelf al eens die lijn kunnen bekijken he..