Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z data
Forum PHP.pl > Forum > Przedszkole
intertom
Wpsuje do tabeli date Wysylki Produktu (varchar) jesli termin wysylki zostanie przekroczony powinna sie ta data ukazac na czerwono.
Zrobilem to tak:

<?php

$date = date("d.m.Y");

if ($date < $row_ALL['WYSYLKA']) {
echo ("<font color='red' size='2'>".$row_ALL['WYSYLKA']."</font>");
}
else {
echo $row_ALL['WYSYLKA'];
}
?>

Problem polega na tym ze przy tym formacie zapisu Daty (dzien, miesiac, rok)
to niefunkcjonuje. Czy jest jakas mozliwosc przekrecenia daty (rok, miesiac, dzien) zanim zostanie urzyta petla if.

---

hwao
Ar2r
Gdzie chcesz tą datę przekręcać: w zmiennej $date czy przed wpisaniem do tabeli?
M4chu
ja date zawsze trzymam w formacie unix timestamp (aktualna zwraca funkcja time(), wiecej w manualu), w mysqlu mozna trzymac to w polu timestamp - poprostu latwiej sie porownuje wartosci.
  1. <?php
  2.  
  3. $data = time();
  4.  
  5. if( $data < $row['wysylka'] )
  6. {
  7. echo '<font color=\"red\" size=\"2\">' . date( 'd.m.Y', $row['wysylka'] ) . '</font>';
  8. }
  9. else
  10. {
  11. echo date( 'd.m.Y', $row['wysylka'] );
  12. }
  13.  
  14. ?>
intertom
W tabeli musi byc zapisywana w formacie (d,m,Y) Problem w tym ze w tym formacie porownywane sa najpierw dni daty, i jesli dzisiaj mamy 20.12.2004 a Data wysylki bedzie np.: 19.01.2005 to i tak ukaze sie na czerwono poniewaz 19 jest mniejsze od 20. Dlatego chce przekrecic te date (string) na Y,m,d. Wtedy bedzie funktionowac poniewaz bedzie porownywyna rok, miesiac na koncu dzien.
Vertical
To może str_replace ?
Można zrobić
  1. <?php
  2. $stare = array(
  3. 'd', 'm', 'Y');
  4. $nowe = array(
  5. 'Y', 'm', 'd');
  6. str_replace($stare, $nowe, $data);
  7. ?>
Ar2r
Dla formalności: podany przez Ciebie przykład akurat nie jest prawdziwy.
Warunek masz następujący:
$date<$row['wysylka']
Skoro dziś mamy 20, a wysyłka planowana na 19 to nawet przy porównaniu samych dni warunek nie jest prawdziwy i zawartość if się nie wykona.
Skoro musisz mieć datę w takim formacie przed porównaniem tak jak pisze M4chu zamieniaj ją na uniksowy znacznik czasu przy pomocy mktime i porównuj.
hwao
Zamykam
Nie wykonanie mojej prozby przez intertom, przykro mi.

Jak napiszesz na pw czego nie zrobiles to odblokuje
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.