Avatar billede n-emy Nybegynder
28. maj 2009 - 12:42 Der er 13 kommentarer og
1 løsning

Ajax i samarbejde med PHP/MySQL?

Hejsa

Jeg leder efter en måde, hvorpå jeg kan opdatere en af mine sider, uden at brugeren behøver at refreshe siden. Lidt ala newz.dk, hvor kommentarerne kommer løbende hvis man er under en nyhed. Er klar over jeg skal ud i noget Ajax/Javascript og PHP/MySQL, men kunne godt bruge et eksempel på det jeg søger efter =)

Jeg har kigget lidt rundt omkring men kan ikke finde et eksempel hvor siden selv opdaterer hvert x sekund, men kun steder hvor man f.eks. skal vælge fra en drop down menu og den så henter fra databasen.

Håber på noget hjælp =)
Avatar billede fusion-it Nybegynder
28. maj 2009 - 12:55 #1
Den som er brugt på newz.dk er lavet i flash :)

http://www.dhtmlgoodies.com/scripts/rss-scroller/rss-scroller.html

Måske du kan bruge denne her ?
Avatar billede fusion-it Nybegynder
28. maj 2009 - 12:56 #2
Avatar billede anitavizdk Nybegynder
28. maj 2009 - 13:45 #3
det du leder efter er setInterval()

eks:

function alerter(){
alert('Hi i was called');
}

setInterval("alerter()",5000);

Dette skulle gerne kalde funktionen alerter hvert 5 sekund, men pas på ikke at over do it gør det en gang hvert 10-15 sek alt efter hvor hurtigt du kan hive svaret ud.
Avatar billede nicolailissau Nybegynder
28. maj 2009 - 18:19 #4
Hej :) Lidt opfølgning på de andre med et eksempel:

<script type="text/javascript">
function alerter(){
src = document.getElementById('nyheder');
src.firstChild.nodeValue="output fra ajax funktion";
alert("nyheder opdateret");
}

function refreshNews(){
setInterval("alerter()",5000);
}
</script>
</head>

<body onload="refreshNews();">
<div id="nyheder">Start</div>

Prøv at se om det ikke er noget lignende du leder efter

Mvh
Avatar billede nicolailissau Nybegynder
28. maj 2009 - 18:21 #5
Jeg går ud fra du har styr på dit ajax, når du ikke nævner noget om det?
Avatar billede n-emy Nybegynder
30. maj 2009 - 23:32 #6
Nej har styr på PHP, er ny indenfor AJAX =) Så lidt mere hjælp til Ajax delen ville være meget værdsat =)
Avatar billede tjaz Nybegynder
01. juni 2009 - 16:08 #7
kig på jquery... det hjælper en del med f.eks. ajax

<script>
$(doument).ready(
  $.get('comments.php', function(data) {
      $('#comments').html(data)
  })

  $.get('#refreshcomments').click(function() {
      $.get('comments.php', function(data) {
        $('#comments').html(data)
      })
  });
);
</script>

<div id="comments"></div>
<span id="refreshcomments">refresh</span>


du kan naturligvis også poste til sider

$.post('sendcomment.php', { navn: 'mit navn', besked: 'hej' }, function(data) {
  alert('tak for din besked');
});

Der ligger _MANGE_ flere muligheder i jQuery, AJAX er bare en af dem.
Avatar billede nicolailissau Nybegynder
02. juni 2009 - 01:53 #8
Okay, jeg anbefaler dig at læse disse to små tutorials:
http://www.tizag.com/ajaxTutorial/
http://www.w3schools.com/Ajax/Default.Asp
Så var jeg hurtigt på vej - i hvert fald hvis du har lidt kendskab til javascript.

W3schools tutorial er bedst. Læs den og hvis der er noget der er uklart, så læs i tizag.com's.
Avatar billede n-emy Nybegynder
09. juni 2009 - 02:04 #9
Tak nicolai =)

Har kigget lidt på begge turtorials og fik klart mest ud af w3 =)

Jeg sidder imidlertid med et lille problem. I alle eksemplerne er det brugeren der skal give et input i en form eller lignende. Jeg har brug for at scriptet gør det uden input fra brugeren. Har kigget på:

http://www.w3schools.com/php/php_ajax_rss_reader.asp

Det jeg gerne vil have den til er at vise det fra starten af og ikke først når man har valgt en. Ligeså snart jeg kan det burde ikke være noget problem at kombinere med dit eksempel længere oppe =)

Så er der en der kan hjælpe? =)
Avatar billede nicolailissau Nybegynder
09. juni 2009 - 19:22 #10
Til funktionen refreshNews() tilføjer du jo bare dit ajax output.. Jeg mener tilføj:
src = document.getElementById('nyheder');
src.firstChild.nodeValue="output fra ajax funktion";
Så starter den jo med at vise dig ajax output :)

Jeg ved ikke om min måde er lidt primitiv?
Avatar billede nicolailissau Nybegynder
09. juni 2009 - 21:00 #11
Ookay.. Har lavet et lille eksempel.. Prøv at se om det er sådan her du mener..

Åben denne side:
http://www.rtgkom.dk/~nicolails07/test/ajax/newsFeed.html

Og denne side:
http://www.rtgkom.dk/~nicolails07/test/ajax/addNews.html

Skriv nu noget i addNews.html, og skift hurtigt til newsFeed.html

Så skulle der gerne inden længe pludselig på magisk vis dukke det op du skrev før..

Eksemplet er jo meget simpelt.. men er det sådan du havde tænkt dig det?

Download filerne her: (husk at lav en mysql connection fil) :)
http://www.rtgkom.dk/~nicolails07/test/ajax/newsFeed_eksempel.zip
Avatar billede n-emy Nybegynder
09. juni 2009 - 23:26 #12
Det er præcis det jeg ledte efter =)

Mange tak for hjælpen nicolai, du har lige reddet min dag =)
Avatar billede n-emy Nybegynder
10. juni 2009 - 00:06 #13
Er det muligt at få scriptet til at udføre html-koder hvis der er html-koder i nyheden?

Uanset om det er eller ej så bare smid et svar =)
Avatar billede nicolailissau Nybegynder
10. juni 2009 - 00:59 #14
Ja.. Søg på DOM w3schols på google :)

Svar!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester