Autor Zpráva
ghost
Profil
Dobrý den, prosím poraďte mi, jak vytvořit na stránce dynamickou zmenu obrazku , ktere vyhovuji nejakemu kriteriu (cili pouzit SQL DB).A menit je treba po 1 minute (to uz bych zvladnul :) ) nacist si vsechny jejich nazvy predem bohuzel nemuzu, protoze jich je kolem 20 000.
Neas
Profil
v javascriptu si nastavíš setInterval a v minutovém intervalu budeš odesílat ajax požadavek na php script, který vybere právě jeden obrázek z db a odešle výsledek zpátky na stránku.
(některé frameworky, jako například jQuery již ajaxové funkce obsahují a jejich obsluha je mnohem jednodušší, avšak je trochu zbytečné importovat celou knihovnu jenom kvůli ajaxu)
doufám, že jsem správně pochopil tvůj problém
ghost
Profil
Asi ano , dik za help. Ajaxu se trochu bojim protoze sem v nem nikdy nic nedelal, ale co uz vsechno musi byt jednou poprvy :) dik
ghost
Profil
tak, hledal jsem a nasel priklad. ten jsem upravil podle sebe a ejhle jede to, ale s jedno vyjimkou a to IE :) firefox i opera v poradku. Mohl bych se zeptat v cem to muze byt ?

 <script>
function ajax(stranka, kam)
{

    var httpRequest;
    
    if(typeof window.ActiveXObject != 'undefined')
    {
        httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else
    {  
        httpRequest = new XMLHttpRequest();
    }
    httpRequest.open("GET", stranka, true);
    httpRequest.onreadystatechange= function () 
    {
        processRequest(httpRequest, kam) 
    };
    httpRequest.send(null);
}


function processRequest(httpRequest, kam) 
{
    if (httpRequest.readyState == 4)
    {
        if (( httpRequest.status >= 200 && httpRequest.status < 300 ) || httpRequest.status == 304)
        {
            if (typeof kam == 'string') 
            {
                document.getElementById(kam).innerHTML = httpRequest.responseText;
            }
            if (typeof kam == 'function') 
            {
                kam(httpRequest.responseText);
            }
        }
        else
        {
            alert("Chyba pri nacitani stanky " + httpRequest.status +" : "+ httpRequest.statusText);
        }
    }
    else
    {
        if (typeof kam == 'string' && kam != '') 
        {
            document.getElementById(kam).innerHTML = '';
        }
    }
       
}  
 setInterval("ajax('soubor.php','contentViewer');", 3000)
  </script>
  <div id="contentViewer">
  </div>



chovani je takove : v souboru php je kod ktery vykresluje 9 obrazku (random) takze vzdy kdyz se spusti by mel vykreslit novych 9.
v lisce i opere to funguje a obrazky se vesele meni. v IE se vykresli jen prvnich 9 a pak se sice "jakoby nacitaji znova" ale zustanou ty stejne . v souboru.php chyba nebude, protoze pokud ho dam do prohlizece IE samotny a refreshuji, tak se obr. meni.
ghost
Profil
Edit : vyřešeno. nepouzival jsem rozhrani prave pro IE :)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0