danielrealized Skrevet 7. mai 2012 Del Skrevet 7. mai 2012 Jeg leker litt med et script, hvor jeg ønsker å streame innhold. Her er koden: <?php header('Content-Type: text/event-stream'); header('Cache-Control: no-cache'); // recommended to prevent caching of event data. /** * Constructs the SSE data format and flushes that data to the client. * * @param string $id Timestamp/id of this connection. * @param string $msg Line of text that should be transmitted. */ function sendMsg($id, $msg) { echo "id: $id" . PHP_EOL; echo "data: $msg" . PHP_EOL; echo PHP_EOL; ob_flush(); flush(); } $serverTime = time(); sendMsg($serverTime, "test"); ?> Jeg ønsker å legge inn innhold fra databasen, der det står "test" med while-loop..osv.. Noen som vet om en måte? På forhånd takk Lenke til kommentar
danielrealized Skrevet 7. mai 2012 Forfatter Del Skrevet 7. mai 2012 Jeg kan ikke bruke en funksjon, men kun en variabel i: sendMsg($serverTime, content()); Noen som vet om en løsning? Lenke til kommentar
TobiasG Skrevet 28. mai 2012 Del Skrevet 28. mai 2012 (endret) Får jeg spørre hva du egentlig ønsker at scriptet skal gjøre? Per i dag får du en id: $id og data: test output. Du ønsker egentlig bare å bytte ut "test" med en verdi fra en database? Endret 28. mai 2012 av TobiasG Lenke til kommentar
danielrealized Skrevet 4. juni 2012 Forfatter Del Skrevet 4. juni 2012 Får jeg spørre hva du egentlig ønsker at scriptet skal gjøre? Per i dag får du en id: $id og data: test output. Du ønsker egentlig bare å bytte ut "test" med en verdi fra en database? Ja, stemmer og da er det inkludert rekke koder som mysql_query...osv... Vet du om en løsning på dette? Lenke til kommentar
etse Skrevet 5. juni 2012 Del Skrevet 5. juni 2012 Burde stå godt forklart her: http://www.w3schools.com/php/php_mysql_select.asp Lenke til kommentar
danielrealized Skrevet 6. juni 2012 Forfatter Del Skrevet 6. juni 2012 Burde stå godt forklart her: http://www.w3schools...ysql_select.asp Jeg forstår jo det, men hvordan man skal overføre all data inn i sendMsg($serverTime, "Innhold"); Slik at data blir oppdatert hele tiden. Skjønner? Lenke til kommentar
Thomas. Skrevet 6. juni 2012 Del Skrevet 6. juni 2012 (endret) Burde stå godt forklart her: http://www.w3schools...ysql_select.asp Jeg forstår jo det, men hvordan man skal overføre all data inn i sendMsg($serverTime, "Innhold"); Slik at data blir oppdatert hele tiden. Skjønner? Sett litt på ajax? F.eks: var data = 'data'; $.ajax({ url: "url.php", type: "GET", data: data, cache: false, success: function(html) { } }); Kombiner dette med litt jquery så er du på vei Endret 6. juni 2012 av Thomas. Lenke til kommentar
etse Skrevet 6. juni 2012 Del Skrevet 6. juni 2012 vanskelig å forstå helt hva du egentlig ønsker? Kan du kalle funksjonen flere ganger? Eller kan du kun bruke "SendMsg" en gang? Lenke til kommentar
danielrealized Skrevet 6. juni 2012 Forfatter Del Skrevet 6. juni 2012 (endret) Takk for svar. Mulig jeg forklarer dette dårlig. SSE er det jeg bruker og er noe lignende Web Socket(Html5).. Det vil si at innhold blir streamet uten å oppdatere. Hvis jeg forandrer teksten "innhold" til noe annet og lagrer, så vil innholdet på siden bli automatisk oppdatert ikke som refresh. sendMsg($serverTime, "Innhold"); Thomas, Ajax har ikke denne teknologien. Endret 6. juni 2012 av danielrealized Lenke til kommentar
etse Skrevet 6. juni 2012 Del Skrevet 6. juni 2012 (endret) Men ville det fungert å kjørt noe lignende: While innhold_i_database: rad = get_row_database(databse); sendMsg($tid, rad); Endret 6. juni 2012 av etse Lenke til kommentar
Thomas. Skrevet 6. juni 2012 Del Skrevet 6. juni 2012 Takk for svar. Mulig jeg forklarer dette dårlig. SSE er det jeg bruker og er noe lignende Web Socket(Html5).. Det vil si at innhold blir streamet uten å oppdatere. Hvis jeg forandrer teksten "innhold" til noe annet og lagrer, så vil innholdet på siden bli automatisk oppdatert ikke som refresh. sendMsg($serverTime, "Innhold"); Thomas, Ajax har ikke denne teknologien. Det er akkurat denne teknologien ajax faktisk har. Lenke til kommentar
danielrealized Skrevet 6. juni 2012 Forfatter Del Skrevet 6. juni 2012 (endret) Takk for svar. Mulig jeg forklarer dette dårlig. SSE er det jeg bruker og er noe lignende Web Socket(Html5).. Det vil si at innhold blir streamet uten å oppdatere. Hvis jeg forandrer teksten "innhold" til noe annet og lagrer, så vil innholdet på siden bli automatisk oppdatert ikke som refresh. sendMsg($serverTime, "Innhold"); Thomas, Ajax har ikke denne teknologien. Det er akkurat denne teknologien ajax faktisk har. Nei, det har den ikke. Det har vært forsøk på å bruke jquery, ajax eller ren javascript, men det er ustabilt. Node.js, Websocket, SSE fungerer greit. Endret 6. juni 2012 av danielrealized Lenke til kommentar
danielrealized Skrevet 6. juni 2012 Forfatter Del Skrevet 6. juni 2012 (endret) Men ville det fungert å kjørt noe lignende: While innhold_i_database: rad = get_row_database(databse); sendMsg($tid, rad); Mener å huske at jeg har prøvd det, men da kom det kun et resultat og ikke alle. Endret 6. juni 2012 av danielrealized Lenke til kommentar
TobiasG Skrevet 8. juni 2012 Del Skrevet 8. juni 2012 Jeg, ser det er gått litt her siden jeg skrev sist, men kan sette meg ned litt i kveld og se om jeg får satt opp en løsning Daniel og innhold streamet konstant fra en db om jeg har forstått det rett. For å si det dummy, så ønsker du altså at db results blir konstant oppdatert i en web, ikke at web konstant oppdaterer en db? Så med en gang det gjøres endringer i db si at $data = "test" om jeg byttet dette til "test2" i db, så skulle websiden endret med en gang også? aiight? Lenke til kommentar
danielrealized Skrevet 8. juni 2012 Forfatter Del Skrevet 8. juni 2012 Jeg, ser det er gått litt her siden jeg skrev sist, men kan sette meg ned litt i kveld og se om jeg får satt opp en løsning Daniel og innhold streamet konstant fra en db om jeg har forstått det rett. For å si det dummy, så ønsker du altså at db results blir konstant oppdatert i en web, ikke at web konstant oppdaterer en db? Så med en gang det gjøres endringer i db si at $data = "test" om jeg byttet dette til "test2" i db, så skulle websiden endret med en gang også? aiight? Jepp, det stemmer Her er javascript-delen av SSE: function events() { //$('ul#result').load('includes/last_events.php'); $.post('content.php', $('.content').serialize(), function(data) { $('.content').html(data); }); } if (!!window.EventSource) { var source = new EventSource('includes/server.php'); } else { // Result to xhr polling } source.addEventListener('message', function(e) { var test = e.data; $('.content').html(test); retry: 1; }, false); source.addEventListener('open', function(e) { }, false); source.addEventListener('error', function(e) { if (e.readyState == EventSource.CLOSED) { // Connection was closed. } }, false); Server.php er SSE-scriptet som ligger øverst i tråden Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå