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

pobranią wartość z bazy w php mysqli podać do js

+1 głos
660 wizyt
pytanie zadane 27 lutego 2023 w PHP przez gatka84 Bywalec (2,150 p.)

Witajcie kolejny raz natrafiłam na problem tzn mam licznik który mi odlicza czas, który ma obliczyć do wydarzenia. Na problem natrafiłam kiedy date pobieram z bazy ale nie wiem jak ją przekazać do js z bazy danych. Mam tak

function makeTimer() {
var zmienna_JS = <?php echo $row['umCzas']; ?>; <-- tak próbowałam przekazać ale pokazuje jakiś minusowy cza
var endTime = new Date(zmienna_JS);			
	endTime = (Date.parse(endTime) / 1000);
	var now = new Date();
	now = (Date.parse(now) / 1000);
	var timeLeft = endTime - now;
	var days = Math.floor(timeLeft / 86400); 
	$("#days").html(days);
}
setInterval(function() { makeTimer(); }, 1000);

z bazy pobieram date

$sql = "SELECT * FROM `umowa`";
                       $results = mysqli_query($con, $sql) or die(mysqli_error());
                       if (mysqli_num_rows($results) > 0) {
                           $row = mysqli_fetch_array($results);

                           $czas = $row['umCzas'];
 }

i teraz nie wiem jak przekazać tą zmienną czyli $czas = $row['umCzas']; do js

Jak zawsze będę wdzięczna za podpowiedzi i sugestie.

komentarz 28 lutego 2023 przez VBService Ekspert (256,580 p.)

BTW

wystarczy taki zapis

setInterval(makeTimer, 1000);

 

2 odpowiedzi

+1 głos
odpowiedź 27 lutego 2023 przez gatka84 Bywalec (2,150 p.)

ok znalazłam dla innych szukających wystarczy zmienną dać tak

<?php echo json_encode($czas); ?>;

i już działa jak powinno.

komentarz 28 lutego 2023 przez VBService Ekspert (256,580 p.)

Pokaż, proszę, co "zwraca"

$sql = "SELECT * FROM `umowa`";
$results = mysqli_query($con, $sql) or die(mysqli_error());
if (mysqli_num_rows($results) > 0) {
  $row = mysqli_fetch_array($results);
  var_dump($row['umCzas']);
}

 

komentarz 3 marca 2023 przez gatka84 Bywalec (2,150 p.)
var_dump($row['umCzas']); daje string(10) "2024-04-01"
komentarz 4 marca 2023 przez VBService Ekspert (256,580 p.)
edycja 4 marca 2023 przez VBService

Zastanawiało Mnie dlaczego do tego, żeby wyświetlić ciąg z bazy danych w tym przypadku w postaci: 2024-04-01, musisz używać json_encode.

 

Sprawdź

[ on-line ]

const a = new Date(2024-04-01);
const b = new Date('2024-04-01');
const c = new Date("2024-04-01");

console.log('a. ' + a);
console.log('b. ' + b);
console.log('c. ' + c);

const d = new Date(2024,3,1); // 0-styczeń, ... 3-kwiecień
console.log('d. ' + d);

 

[ on-line ]

    $row['umCzas'] = "2024-04-01"; // daje string(10) "2024-04-01"
    
    echo $row['umCzas'] . PHP_EOL;
    echo json_encode($row['umCzas']) . PHP_EOL;
    
    echo "\"{$row['umCzas']}\"" . PHP_EOL;
    echo "'{$row['umCzas']}'" . PHP_EOL;
    
    echo '"' . $row['umCzas'] . '"';

 

czyli

function makeTimer() {
//var zmienna_JS = <?php echo $row['umCzas']; ?>; <-- tak próbowałam przekazać ale pokazuje jakiś minusowy cza
var endTime = new Date("<?php echo $row['umCzas']; ?>");

...

 

[ Date() constructor ]

–1 głos
odpowiedź 27 lutego 2023 przez doublechess Obywatel (1,300 p.)
Ajax, było i to wiele razy wałkowane.

 

Ajax - punkt zaczepienia

Ajax -> wyslij x do skryptu abc.php, abc.php -> zwraca wartosc do Ajax i dalej, q = Ajax.x;.

Podobne pytania

0 głosów
1 odpowiedź 1,786 wizyt
pytanie zadane 4 września 2017 w C i C++ przez altara Początkujący (290 p.)
0 głosów
0 odpowiedzi 258 wizyt
pytanie zadane 25 lutego 2017 w PHP przez jegor377 Stary wyjadacz (13,230 p.)

93,765 zapytań

142,721 odpowiedzi

323,372 komentarzy

63,359 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...