Gå til innhold

Sjekke ny PM uten å oppdatere hele siden.


Anbefalte innlegg

Hei

 

Jeg har en side her, på den siden har jeg en meny med et brukersystem som man kan sende PM og gjestebok meldinger.

Nå har det seg slikt at jeg ønsker at "menyen" kan kjøre en refresh selv uten å måtte oppdatere hele siden for å sjekke om man har fåt et PM eller gjestebok innlegg.

 

Kan dette gjøres med javascript, eller må det gjøres med php?

Eventuelt hvordan?

Lenke til kommentar
Videoannonse
Annonse
Vet du om en gudie på nette som sier hvordan jeg kan gå frem å gjøre dette?

Har søkt litt selv, men fant ikke noe..

 

Nå får du gi deg. Hvis du ikke klarer å generere treff på denne problemstillingen i en eller annen ofte omtalt søkemotor (Google, f.eks.) så har du enten et defekt tastatur, eller så burde du finne deg noe annet å bruke fritiden din til (sparke ball, treskjæring, kniplinger e.l). Noe sier meg at du nok prøver å gape over for mye.

 

Werner

Lenke til kommentar

Vis du har veldig behov for dette, kan du jo laste ned/instalere Opera 9.5. Personelig bruker jeg Mozilla Firefox, men ettersom at Windows bestemte seg å fucke Firefox opp, prøvde jeg Opera. Jeg var ikke skuffet. Har formatert, bruker mozilla firefox. Nok om det. Finn siden som skal opptaderes, høyreklikk i opera utenfor flash og sånt, trykk opptader hvert Tilpasset behov. For eksempel hvert 5 sekund. Personelig har jeg aldri hatt bruk for denne funksjonen, men dette er nok den letteste løsningen jeg kommer på.

 

God Jul, Hilsen Tobbe Oo.

Lenke til kommentar
  • 2 uker senere...

jeg sjekket google, og det var ikke så lett å komme frem til noe uten at man vet hva man skal se etter.

 

function ajax(url, callback, xml=true) {
 var http_request, response, i;

 var activex_ids = [
‘MSXML2.XMLHTTP.3.0’,
‘MSXML2.XMLHTTP’,
‘Microsoft.XMLHTTP’
 ];

 if (window.XMLHttpRequest) { // Mozilla, Safari, IE7+...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
  http_request.overrideMimeType(‘text/xml’);
}
 } else if (window.ActiveXObject) { // IE6 and older
for (i = 0; i < activex_ids.length; i++) {
  try {
	http_request = new ActiveXObject(activex_ids[i]);
  } catch (e) {}
}
 }

 if (!http_request) {
alert(‘Unfortunately your browser doesn’t support this feature.’);
return false;
 }

 http_request.onreadystatechange = function() {
if (http_request.readyState !== 4) {
  // not ready yet
  return;
}
if (http_request.status !== 200) {
  // ready, but not OK
  alert(‘There was a problem with the request.(Code: ‘ + http_request.status + ‘)’);
  return;
}
if (xml) {
  response = http_request.responseXML;
} else {
  response = http_request.responseText;
}
// invoke the callback
callback(response);
 };

 http_request.open('GET', url, true);
 http_request.send(null);

}

function updateMenu(xml) {
 var elem;
 var menu = document.getElementById('menu');
 menu.children = null;
 for (i in xml) {
elem = document.createElement(xml[i][0]);
elem.text = xml[i][1];
menu.appendChild(elem);

 }

}

ajax('http://www.example.com/database.php?getXML=menu', updateMenu);

 

du må også ha et php komponent som rendrer databaseresultatet til xml.

 

<?php

$link = mysql_connect(..., ..., ...);
mysql_select_db(..., $link);

function mysql_get($qry) {
 if ($result = mysql_query($qry)) {
return $result;

 }
 else {
print mysql_error(); 
return 0;

 }

}

function mysql_get_array($qry) {
 $result = mysql_get($qry);
 while ($row = mysql_fetch_array($result)) {
$rows []= $row;

 }
 return $rows;

}

function mysql_get_xml($qry) {
 $array = mysql_get_array($qry);

 $XMLstart = "<?xml version=\"1.0\">\n<result>\n";
 $XMLstop = "</result>\n";

 $XMLmiddle = '';
 foreach ($array as $k => $v) {
$XMLmiddle .= "\t<row id=\"" . $k . "\">\n";
foreach ($v as $key => $value) {
  $XMLmiddle .= "\t\t<field id=\"" . $key . "\">" . $value . "</field>\n";

}
$XMLmiddle .= "\t</row>\n";

 }

 $XMLout = $XMLstart . $XMLmiddle . $XMLstop;
 return $XMLout;

}
?>

 

dette er utestet kode ment som eksempel. si i fra dersom du trenger mer forklaring.

Endret av grimjoey
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...