Jak zrobić, aby pętla odświeżała się co sekundę?

Jak zrobić, aby pętla odświeżała się co sekundę?
Gouda105
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 487
0

Tak jak w temacie, jak mogę zrobić, aby pętla 'zapętlała' się co 1s?

Delor
  • Rejestracja: dni
  • Ostatnio: dni
1

setInterval()
Opis + przykład: https://www.w3schools.com/js/js_timing.asp

Gouda105
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 487
0

A dlaczego po takim kodzie:

Kopiuj
setInterval(function ilosc()
{	
	const numer = 0;
	while(numer < 15)
	{
		const ilosc = document.getElementById('ilosc'+numer).value;
		const cenastara = document.getElementById('cenatab'+numer).innerHTML;
		const cenanowa = cenastara * ilosc;
		document.getElementById('cenatab'+numer).innerHTML = cenanowa;
		numer++;
	}
}, 2000);

Pokazuje:

TypeError: invalid assignment to const `numer'

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
1

const służy do deklarowania stałych ("zmiennych", których wartości nie można modyfikować) - zamień to na let.

Gouda105
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 487
0

Ok, tutaj jak to wszystko powstaje:

Kopiuj
foreach ($odkodowana as $odkodowanyProdukt)
	{
		if (mb_strlen($odkodowanyProdukt) === 0) 
		{
			continue;
		}
		
		$zapytanie = "SELECT cena FROM produkty WHERE nazwa = '".$odkodowanyProdukt."'";
		$wynik = mysqli_query($connect, $zapytanie);
		
		while ($row = $wynik->fetch_assoc())
		{
			$numer = 0;
			echo "
			<tr class='wiersz'>
				<td class='rekord'>".$odkodowanyProdukt."</td>	
				<td><input type='text' name='ilosc' id='ilosc".$numer."' placeholder='...'/><input type='submit' name='dodajilosc' value='+' onClick='ilosc()'/></td>
				<td class='rekord'><div id='cenatab".$numer."'>".$row['cena'];"</div></td>
			</tr>";
			$numer++;
		}
    }

A tu js:

Kopiuj
setInterval(function ilosc()
{	
	let numer = 0;
	while(numer < 15)
	{
		const ilosc = document.getElementById('ilosc'+numer).value;
		const cenastara = document.getElementById('cenatab'+numer).innerHTML;
		const cenanowa = cenastara * ilosc;
		document.getElementById('cenatab'+numer).innerHTML = cenanowa;
		numer++;
	}
}, 2000);
serek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1506
0

Z tego co widzę, to odpalasz tą funkcję co 2 sekundy.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.