Gå til innhold

Oppdatere en tabell med sql-data uten å refreshe siden?


Anbefalte innlegg

Hei!

 

Har prøvd å google etter dette, men vet liksom ikke helt hva jeg skal søke etter...

 

Jeg har laget en HTML-side med en tabell som fylles av data fra en SQL spørring.

 

Jeg ønsker at det gjøres en spørring hvert 2 sekund, og at tabellen skal oppdatere seg dersom det har skjedd noen endringer.

 

Dette er kun til internt bruk (maks 2-3 viewers av gangen), så jeg er ikke redd for at serveren skal knele pga mange spørringer.

 

Hvordan løser jeg dette?

Lenke til kommentar
Videoannonse
Annonse

Om støtten for frames og iframes er helt fjernet i HTML5 er jeg usikker på, men jeg ser ingen grunn til at de skal brukes, selv ikke til det trådstarter ønsker å oppnå.

 

Redigert: iframe-elementet er ikke fjernet, men har derimot fått flere funksjoner. Det kan derfor diskuteres om det faktisk er brukbart eller om man bør holde seg unna. Jeg for min del foretrekker javascript og ren HTML.

Endret av Runar
Lenke til kommentar

Jeg husket litt feil.

The following elements are not in HTML5 because their usage affected usability and accessibility for the end user in a negative way:

 

* frame

* frameset

* noframes

Iframes er tydeligvis fortsatt med, men det er uansett ikke mer laget for en liten rute <aside>, en minigjestebok, reklame eller noe.

Lenke til kommentar

Dette bør du bruke AJAX til ja, jeg bruker selv jQuery som er et javascript framework. Det kan anbefales. Bare for å gi et lite eksempel på hvordan det fungerer:

 


function getMessages()
{
	$.post("http://url-til-din-side.com/dittscript.php",{ 'timestamp' : timestamp },
	function(data) {
	if(data.result == 'success')
	{ 
	$('#msg').html(data.html);
	timestamp = data.timestamp;
	}
	else
	{
	alert('sorry it failed'+data.result);
	}
}, "json");
}
// Oppdater hvert sekund
setInterval('getMessages()',1000);

 

På serveren må du da ha dittscript.php noe slik:

// sql queries osv her gir oss $html som inneholder dataene
// Lager en json array slik at jquery kan benytte dataene å fylle tabell
	echo json_encode(array(
	'result'=>'success',
	'html'=>$html,
	'timestamp'=>$this->message_model->get_latest_unix_time()));

Lenke til kommentar
  • 2 uker senere...

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...