Gå til innhold

Kontinuerlig hente ut fra database


Anbefalte innlegg

Skrevet (endret)

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
Videoannonse
Annonse
Skrevet (endret)

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
Skrevet

Jeg kan godta en delay, men det må ikke kreves at siden laster på nytt.

 

Man kan se at FireFox blinker når man oppdaterer siden. Det er det jeg ønsker å unngå.

Skrevet

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)

Skrevet

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

Skrevet (endret)

Koden er jo naturligvis ikke laget for å fungerer på egenhånd. Du trenger et bilde med id #myImage, som er det som kontinuerlig byttes ut.

 

Edit:

 

<img src="#" id="myImage" />

Endret av Jonas

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