• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Odświeżanie diva co 5 sek. (różnica w czasie)

Object Storage Arubacloud
+1 głos
870 wizyt
pytanie zadane 26 października 2017 w JavaScript przez hiper007 Stary wyjadacz (11,270 p.)
zamknięte 29 grudnia 2017 przez hiper007

Witam!

Chciałbym, żeby różnica w czasie sama odświeżała się co 5 sek. ale nie poprzez przeładowanie całej strony tylko konkretnego diva, który pobiera ost. datę z bazy i pokazuję czas jaki upłynął od ost. wydrukowanej etykiety. Oto kod, który działa poprawnie, ale nie odswieża mi czasu.

<div id="load">

<script>

<?php


			require_once "connect.php";
		
			if (!$polaczenie = mysql_connect($host,$db_login,$db_pass,$db_name)) {
			echo 'Nie można nawiązać połączenia z bazą danych';
			exit;
				
			}else
			{
			
			if (!mysql_select_db('sinbin', $polaczenie)) {
			echo 'Nie można wybrać bazy danych';
			exit;
			}	
			
			
					$kodowanie=mysql_query('SET NAMES \'utf8\'');
			
			
					if($result = mysql_query("SELECT login,data FROM sin ORDER BY data DESC LIMIT 1", $polaczenie))
					{	
						
							$ilu_userow=mysql_num_rows ($result);
							if($ilu_userow>0)
							{

										while($wiersz=mysql_fetch_assoc($result))
										{
											
											$login=$wiersz['login'];
											$data=$wiersz['data'];
							
											$czas= new DateTime ($data);
											$czas->format('Y-m-d H:i:s');
											$czas2=new DateTime ();
											$czas2->format('Y-m-d H:i:s');
											$roz=$czas2->diff($czas);
											$roz->format('%y-%m-%d-%h-%i-%s');
											$godzina=explode("-", $roz->format('%Y-%M-%D-%H-%I-%S'));
											
											
											echo"var dzien2 = $godzina[2];";
											echo"var godzina2 = $godzina[3];";
											echo"var minuta2 = $godzina[4];";
											echo"var sekunda2 = $godzina[5];";
?>

												function odliczanie()
												{
															sekunda2=sekunda2+1;
															if (sekunda2>=60) {sekunda2=0; minuta2=minuta2+1;}
															if (minuta2>=60) {minuta2=0; godzina2=godzina2+1;}
															if (godzina2>23) {godzina2=0; dzien2=dzien2+1;}
															if (dzien2>30)
															{
																location.reload();
															} else{
																if (sekunda2<10) var sek2="0"+sekunda2; else sek2=sekunda2;
																if (minuta2<10) var min2="0"+minuta2; else min2=minuta2;
																if (godzina2<10) var godz2="0"+godzina2; else godz2=godzina2;
																if (dzien2<10) var day2="0"+dzien2; else day2=dzien2;
													

																document.getElementById('licz1').innerHTML='<span style="color:red; font-weight:bold;">'+day2+'</span>';
																document.getElementById('licz2').innerHTML='<span style="color:red; font-weight:bold;">'+godz2+'</span>';
																document.getElementById('licz3').innerHTML='<span style="color:red; font-weight:bold;">'+min2+'</span>';
																document.getElementById('licz4').innerHTML='<span style="color:red; font-weight:bold;">'+sek2+'</span>';
																
														
																setTimeout("odliczanie()", 1000);
															}   

												}	
												
</script>

<?php

								
								echo '<span style="width:200px; height:25px; background-color:lightgreen;  border-radius: 20px/50px; color:black; padding:8px; box-shadow: 5px 5px 2px 2px grey;"><span id="ok2" style="color:black; font-weight:bold;">Ostatnią etykietę wydrukowano: </span><span id="licz1" style="color:red; font-weight:bold;"></span><span id="z1" style="color:black; font-weight:bold;"> Dni, </span><span id="licz2" style="color:red; font-weight:bold;"></span><span id="z2" style="color:black; font-weight:bold;"> Godz, </span><span id="licz3" style="color:red; font-weight:bold;"></span><span id="z3" style="color:black; font-weight:bold;"> Min, </span><span id="licz4" style="color:red; font-weight:bold;"></span><span id="z4" style="color:black; font-weight:bold;"> Sek.</span><span id="z5" style="color:black; font-weight:bold;"> przez: </span><span style="color:red; font-weight:bold;">'.$login.'</span></span>';				

								
					
									}

							}
							
							
						}

						
					
			mysql_close($polaczenie);
			
			}
		
?>

</div>

Oto funkcja odwieżająca czas

 

<script type="text/javascript">


setInterval("odswiez2();",5000);

function odswiez2(){
$('#load').load('http://172.27.189.11/ #load');
}


</script>

 

komentarz zamknięcia: Problem rozwiazany

1 odpowiedź

+1 głos
odpowiedź 26 października 2017 przez kosaa Stary wyjadacz (14,130 p.)
wybrane 29 grudnia 2017 przez hiper007
 
Najlepsza

zamien

setInterval("odswiez2();",5000);

na

setInterval(odswiez2, 5000);

setInterval działa tak, że masz gwarancje, że funkcja nie uruchomi się wcześniej niż 5 sekund, nie gwarantuje wykonania dokladnie w tym czasie co podałeś

Podobne pytania

0 głosów
1 odpowiedź 376 wizyt
pytanie zadane 10 października 2020 w PHP przez KumberTwo Dyskutant (8,270 p.)
0 głosów
2 odpowiedzi 1,958 wizyt
pytanie zadane 12 marca 2017 w JavaScript przez prymex Obywatel (1,250 p.)
+1 głos
0 odpowiedzi 250 wizyt
pytanie zadane 18 września 2016 w JavaScript przez MaciekM Użytkownik (990 p.)

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...