ďťż
Podstrony
|
telcocafeMam umieszczony na stroni aktualny cza:echo('Dziś jest: <B>' .date("d.m.Y").' '.date("H:i:s").'</B>'); Jak zrobić aby czas odświeżany był co sekundę, a nie tak ja teraz przy przeładowaniu strony? javascript w PHP tego nie zrobisz, chyba że ajaxem, ale to idiotyzm by był nieco Jeżeli Ajax to też Javascript :D Będę dobrym człowiekiem i pomogę. To jest mój skrypt:<script type="text/javascript"> <!-- <![CDATA[ var time = new Date(); var day = time.getDate(); if (day <= 9) day = '0' + day; var month = time.getMonth() + 1; if (month <= 9) month = '0' + month; var year = time.getYear(); if (year <= 199) year += 1900; var hour = time.getHours(); if (hour <= 9) hour = '0' + hour; var minutes = time.getMinutes(); if (minutes <= 9) minutes = '0' + minutes; var seconds = time.getSeconds(); if (seconds <= 9) seconds = '0' + seconds; document.write(day + '.' + month + '.' + year + ' ' + hour + ':' + minutes + ':' + seconds); // ]]> --> </script>Nie wiem jedynie, czy jest jakiś sposób na zera przed liczbami mniejszymi od dziesięciu... Może ktoś zna prostsze rozwiązanie od mojego? Użytkownik andrzej_aa edytował ten post 14 czerwiec 2007, 10:24 <?php echo('Dziś jest: <B>' .date("d.m.Y").' '.date("H:i:s").'</B>'); header('Refresh: 1; url=' . $URL); ?> Gdzie zmienna $URL to url do strony z tym kodem <?php echo('Dziś jest: <B>' .date("d.m.Y").' '.date("H:i:s").'</B>'); header('Refresh: 1; url=' . $URL); ?> Gdzie zmienna $URL to url do strony z tym kodem Ale wtedy strona i tak będzie przeładowywana. A autor tematu tego nie chciał. Ja bym użył tylko Javascript wraz z technologią DOM. Oto kod: W sekcji HEAD <script> // pobieranie daty i czasu function odliczanie() { // tutaj zwiększasz liczbę sekund o 1 oraz sprawdzenie czy sekund nie jest więcej niż 59 itp... // ......... // wypisujesz na stronie datę document.getElementById('komorka').innerHTML=czas; } setInterval("odliczanie()",1000); </script> W sekcji BODY <table> <tr> <td id='komorka'> </td> </tr> </table> Zamiast tabeli można użyć innego znacznika, np. <A>, <FONT>, <P>. Warunkiem jest tylko przypisanie mu identyfikatora (id="...."). Ten przykład pisałem "na gorąco", więc mogą się pojawić jakieś błędy. W tym rozwiązaniu datę pobierasz tylko raz, a następnie wstawiasz funkcję, która bedzie sama dodawać kolejne sekundy, minuty itp. Zakładam, że wiesz co i jak trzeba teraz dodać. Mi chodziło tylko o napisanie algorytmu wyświetlania na ekranie Użytkownik Kamcio edytował ten post 16 czerwiec 2007, 18:47 Domyślam się ,że autorowi chodziło o takie odświerzanie czasu ,aby na stronie było widać czas serwera. Można by wpisać gdzieś w nagłówku: <script language="javascript" type="text/javascript"> var Czas = new Array( <?=date("d\,m\,y\,H\,i\,s") ?> );//Tablica (dzień,miesiąc,rok,godzina,minuta,sekunda) </script> Potem kod zaproponowany przez Kamcio ,z tym że uwaga: setInterval("odliczanie()",1000); powinno być wewnątrz funkcji odliczanie() ,aby zapewnić powtarzalne wykonywanie funkcji. |
|||
Sitedesign by AltusUmbrae. |