nordi
Erfahrenes Mitglied
Hallo Leute,
ich habe auf einer Seite einen DIV-Container, in dem 6 Bilder geladen werden. Die Bilder werden durch eine MYSQL-Datenbank mit "ORDER BY rand() LIMIT 1" zufallsmäßig geladen. Diese 6 Bilder sollen alle 15 Sekunden neugeneriert werden. Momentan läuft das ganze mit dem META-Refresh. Ich würde dies aber gerne mti AJAX lösen. Ich habe viel gelesen und habe auch ein paar gute Skripte gefunden, die man nehmen könnte. Ich habe aber nur die Lösung gefunden, in der eine externe Datei in den DIV-Container geladen wird. Also müsste die externe Datei die Tabelle enthalten. Kann man das auch umgehen? Also das einfach nur der Container neugeladen wird, ohne dass auf die externe Datei (find.php) zurückgegriffen wird?
Hier mein Skript:
Gibt es vielleicht auch eine elegantere Lösung? Kenne mich mit AJAX nicht so besonders aus! Danke für die Hilfe!
ich habe auf einer Seite einen DIV-Container, in dem 6 Bilder geladen werden. Die Bilder werden durch eine MYSQL-Datenbank mit "ORDER BY rand() LIMIT 1" zufallsmäßig geladen. Diese 6 Bilder sollen alle 15 Sekunden neugeneriert werden. Momentan läuft das ganze mit dem META-Refresh. Ich würde dies aber gerne mti AJAX lösen. Ich habe viel gelesen und habe auch ein paar gute Skripte gefunden, die man nehmen könnte. Ich habe aber nur die Lösung gefunden, in der eine externe Datei in den DIV-Container geladen wird. Also müsste die externe Datei die Tabelle enthalten. Kann man das auch umgehen? Also das einfach nur der Container neugeladen wird, ohne dass auf die externe Datei (find.php) zurückgegriffen wird?
Hier mein Skript:
HTML:
<script type="text/javascript">
<!--
var objRequest = false;
function instanceRequest(){
if(window.XMLHttpRequest){
objRequest = new XMLHttpRequest();
}else if(window.ActiveXObject){
try{
objRequest = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
objRequest = new ActiveXObject("Microsoft.objRequest");
}catch(e){}
}
}
if(!objRequest){
alert('Es konnte keine XMLHTTP-Instanz erzeugt werden!');
return false;
}
}
function theRequest() {
// Falls noch ein Request-Objekt existiert -> zunächst beenden
if(objRequest && objRequest.readyState){
objRequest.abort();
objRequest = false;
}
if(!objRequest){
instanceRequest();
}
objRequest.open('GET', 'find.php', true);
self.objRequest.onreadystatechange = function(){
if(objRequest.readyState == 4){
if(objRequest.status == 200){
document.getElementById("sechsbilder").innerHTML = unescape(objRequest.responseText);
}else{
alert("Anfrage nicht erfolgreich!");
}
}
}
objRequest.send(null);
}
window.onload = function(){
hTimer = window.setInterval(function(){theRequest();}, 1000);
}
//-->
</script>
<div id="sechsbilder">HIER SIND DIE 6 BILDER DRINNEN</div>
Gibt es vielleicht auch eine elegantere Lösung? Kenne mich mit AJAX nicht so besonders aus! Danke für die Hilfe!