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

Proste obliczenia z użyciem dat (PHP)

VPS Starter Arubacloud
0 głosów
167 wizyt
pytanie zadane 8 stycznia 2019 w PHP przez bwl Obywatel (1,530 p.)

Hej.

Próbuję zrobić proste obliczenie w PHP, a mianowicie dzisiejsza data minus data pobrana z bazy razy liczba, również pobrana z bazy.

<?php

require_once 'database/database.php';

$wyniki = $pdo->query('SELECT * FROM leki')->fetchAll(PDO::FETCH_ASSOC);

foreach ($wyniki as $wynik)

    {
        $dzisiejsza_data = date("Y-m-d");
        $data_dodania = $wynik['Data'];
        $zapotrzebowanie = $wynik['Zapotrzebowanie'];

        $datetime1 = new DateTime($data_dodania);
        $datetime2 = new DateTime($dzisiejsza_data);
        $interval = $datetime1->diff($datetime2);
        $pozostalo = ($interval->format('%R%a days')) * ($zapotrzebowanie);

        echo $pozostalo;
        echo "<br>";


    }

Jednak wali mi błędem "A non well formed numeric value encountered", niby rozumiem o co może chodzić, ale nie bardzo wiem jak to ugryźć ;/

1 odpowiedź

0 głosów
odpowiedź 9 stycznia 2019 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)
wybrane 9 stycznia 2019 przez bwl
 
Najlepsza

W tej linijce, mnożysz zmienną typu string ze zmienną liczbową.

 $pozostalo = ($interval->format('%R%a days')) * ($zapotrzebowanie); 

Na początku pobierz sobie za pomocą metody format wszystkie dni ale w postaci liczbowej np:

(int)$date->diff($date2)->format("%R%a")

Dopiero po otrzymanym wyniku w postaci liczbowej, zacznij robić obliczenia. Potem odpowiednio sobie sformatuj wyświetlany wynik.

komentarz 9 stycznia 2019 przez bwl Obywatel (1,530 p.)
Dziękuję.

Podobne pytania

0 głosów
0 odpowiedzi 789 wizyt
pytanie zadane 31 lipca 2017 w SQL, bazy danych przez adrian313 Bywalec (2,850 p.)
0 głosów
2 odpowiedzi 436 wizyt
pytanie zadane 26 sierpnia 2019 w Inne języki przez Magikarp Początkujący (260 p.)
0 głosów
1 odpowiedź 910 wizyt
pytanie zadane 5 maja 2016 w C i C++ przez Jan Papaj Nowicjusz (140 p.)

92,973 zapytań

141,938 odpowiedzi

321,177 komentarzy

62,301 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.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...