Gå til innhold

Kontinuerlig hente ut fra database


Anbefalte innlegg

Var ikke helt sikker hvor jeg skulle putte denne, siden jeg mest sannsynlig må bruke Javascript/AJAX for å få til det jeg ønsker.

 

 

La oss si at jeg har følgende:

En database med et felt kalt "link"

Et PHP script som henter informasjon ut fra databasen

HTML som putter linken inn i et <img src=""> tag

 

 

Jeg ønsker at så fort jeg oppdaterer linken i databasen, så skal bildet endre seg, (linken hentes ut på nytt) uten at siden trenger å oppdateres.

 

Er dette mulig å få til instantly etter oppdatering av databasen?

Endret av lefsaker
Lenke til kommentar
Videoannonse
Annonse

Nei, ikke uten å opprettholde en permanent tilkobling mellom server og klient, med f.eks. Java. Du må vite at slikt som oftest ikke er nødvendig. Alle større systemer har cache-delay og lignende, og det gjør ingen ting.

 

Edit: Dersom du kan godta en viss delay, så fungerer selvsagt Javascript i kombinasjon med PHP glimrende.

Endret av Jonas
Lenke til kommentar

Koden baserer seg på javascript-rammeverket jQuery, som muliggjør super-enkle ajax-kall. Du kan enten laste det ned selv, eller benytte deg av noen av de permanente hosting-stedene.

 

<script src="http://code.jquery.com/jquery-latest.js"></script>

 

Javascript:

<script type="text/javascript">

setTimeout(function(){

	$.get('myAjaxURL.php', {}, function(response){

		if ( $('#myImage').attr('src') != response ) {

			$('#myImage').attr('src', response)

		}

	})

}, 1000);

</script>

 

myAjaxURL.php:

<?php

// Hent ut filbane fra SQL/whatever
// Til slutt echoer du bare filbanen

echo 'picture.jpg';

?>

 

(Med forbehold om feil; utestet kode)

Lenke til kommentar

<script src="js.js"></script>
<script type="text/javascript">

setTimeout(function(){

	$.get('get.php', {}, function(response){

		if ( $('#myImage').attr('src') != response ) {

			$('#myImage').attr('src', response)

		}

	})

}, 1000);

</script>

js.js inneholder det samme som den JSfila som ble foreslått.

get.php inneholder queriet, og den funker om jeg navigerer meg direkte til den.

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