Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Dodawanie dni i sprawdzanie bazy
Forum PHP.pl > Forum > Przedszkole
szuki
Witam, mam podany czas w sekundach i chciałbym go zamienić na doby, a następnie dodać do aktualnej daty.
Napisałem skrypt, który działa, ale jestem ciekaw czy nie można tego zapisać prościej.


  1. $aktualna_data = date("Y-m-d");
  2. $data_unix = strtotime($aktualna_data);
  3. $czas = $unixtime + $data_unix;
  4. $nowa_data = date("Y-m-d", $czas);


Chciałbym unikać złych nawyków. Także czy takie rozwiązanie jest dobre?

Jeszcze jedno pytanie: Przed dodaniem do bazy, chcę sprawdzić czy dany rekord występuje. Lepiej sprawdzać to przez count, czy zwykłym selectem (zakładając, że pętla wykonywać się będzie setki razy - myślę o wydajności)? Aktualnie wygląda to tak:

  1. $exist = "select id_offer from shop where id_offer='$nr_zamowienia'";
  2.  
  3. $wynik = mysql_query($exist);
  4. if(mysql_num_rows($wynik)==0)
  5. {
  6. // jeśli 0, to dodaje do bazy
  7. }
peter13135
  1. $aktualna_data = date("Y-m-d");
  2. $data_unix = strtotime($aktualna_data);

=
  1. $data_unix = time()


2. Myślę, że jeśli w bazie może istnieć jeden lub zero rekordów, to czy sprawdzisz count'em czy w taki sposób jak podałeś, to różnicy wielkiej nie ma (bo i tak zwracany jest jeden wiersz). W przypadku większej ilości rekordów, count powinno być wydajniejsze.

Ja jednak bym wszędzie używał counta, ze względu na czytelność.
rocktech.pl
Witam.

Najprościej.

  1. $sekund = 1000;
  2. $date = new DateTime('+'. $sekund .'seconds');
  3. echo $date->format('U');
irmidjusz
Najprościej:
  1. date('Y-m-d', strtotime('+1000 seconds'));
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.