login  Naam:   Wachtwoord: 
Registreer je!
 Forum

nieuwsberichten refresh (Opgelost)

Offline Emonk - 29/01/2011 19:29
Avatar van EmonkLid Hallo allemaal,

Op mijn website heb ik een marquee waarin de laatste nieuwtjes terechtkomen. Bijvoorbeeld een topic dat is geopend, een bestand dat is toegevoegd, dat soort dingen. Nu wil ik graag dat die nieuwsberichten om de x seconden worden herlaad, zodat je altijd de nieuwste nieuwtjes hebt. Hoe doe ik dit mooi, dus zonder dat je ziet dat er wordt herlaad en zonder dat je het 'klik'-geluidje hoort dat daarbij hoort?

Alvast bedankt.

2 antwoorden

Gesponsorde links
Offline nick5556 - 30/01/2011 09:42
Avatar van nick5556 PHP beginner Ajax Request, Ik heb hier zelf geen ervaring mee, maar volgensmij is dat wat je zoekt.
Bedankt door: Emonk
Offline Emonk - 30/01/2011 10:00 (laatste wijziging 30/01/2011 10:07)
Avatar van Emonk Lid Met jouw post en een tutorial van W3.org, heb ik het volgende bedacht: Zal dit werken? (Het marquee gedeelte werkt sowieso, het gaat om het ajax deel)

marquee.php
  1. $update = mysql_query("SELECT * FROM `update` ORDER BY `date` DESC");
  2. if (mysql_num_rows($update)!=0) {
  3. echo '<br><hr><br>Laatste wijzigingen:<br>';
  4. echo '<marquee id="update" direction="up" behavior="scroll" height="150" scrollamount="1" scrolldelay="100" width="100%" truespeed>';
  5. $n=0;
  6. while ($updateArray=mysql_fetch_array($update)) {
  7. $n++;
  8. if ($n<11) {
  9. echo '<a class="update" href="'.$updateArray["link"].'" title="'.$updateArray["what"].'">'.$updateArray["title"].'</a><br><br>';
  10. }
  11. }
  12. echo '</marquee>';
  13. }


nieuws.html
  1. <script type="text/javascript">
  2. function update() {
  3. var xmlhttp;
  4. if (window.XMLHttpRequest) {
  5. xmlhttp=new XMLHttpRequest();
  6. }
  7. else {
  8. xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  9. }
  10. xmlhttp.onreadystatechange=function() {
  11. if (xmlhttp.readyState==4 && xmlhttp.status==200) {
  12. document.getElementById("nieuws").innerHTML=xmlhttp.responseText;
  13. }
  14. }
  15. xmlhttp.open("GET","marquee.php",true);
  16. xmlhttp.send();
  17. window.setTimeout("update()",10000); // elke 10s herladen
  18. }
  19.  
  20. update();
  21.  
  22. <div id="nieuws">De laatste nieuwtjes worden geladen...</div>



Edit: Voordat iemand kon zeggen "probeer het uit!" heb ik dat al gedaan. En ja, het werkt!
Bedankt!
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.173s