![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 3.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam około 100 wierszów w tabeli, które co chwile się aktualizują (od 1-8 godzin), aktualizacja następuje losowo. Data występuje w takim formacie przy każdym wersie: Apr 08 2014, 01:56:24 CEST. Moje pytanie - czy da się zrobić, aby php w jakiś sposób wskazał tę datę, która została akurat zawiera czas dodany np. do 30 minut temu? Albo czy da się ustawić te daty w kolejności od najstarszej do najmłodszej bądź na odwrót bez dodawania do bazy SQL? Dodam, że dane pobieram za pomocą cURLa. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 587 Pomógł: 190 Dołączył: 5.02.2011 Skąd: 64-800 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 3.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Kiedy do if(strtotime() wrzucę $data (czyli datę) to wtedy wyskakuje błąd (nie dziala), a kiedy wpiszę pobraną datę ręcznie (wcześniej się jej dowiem za pomocą echo $data) to wtedy wszystko gra. Dlaczego tak się dzieje? Usunąłem wszystkie spacje, specjalnie w cudzysłowie wziąłem dla testu i nie było żadnych niepotrzebnych znaków ani spacji (testowałem za pomocą echo), przekopiuje zawartość zmiennej działa, wrzucę zmienną - nie działa. Przykładowa data to: Apr 28 2014, 17:15:44 CEST (i jak ją dam to działa, a jak dam zmienną, która zawiera to samo to nie działa). Proszę o pomoc. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 3.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Kiedy dam bez
też nie działa. I kiedy także dam jako zmienną ten napis (jako stały) i wstawię ją tam - też nie działa I kiedy dam Też niczego nie wyświetla. Jedynie działa wtedy, kiedy podam w nawiasach konkretną datę. Lecz $data jest, gdyż gdy dam echo $data; wtedy wyświetlanie działa (lecz, żeby cały skrypt działał, potrzebuję zmienić ją na ten unixowy czas). Ten post edytował benzulli 28.04.2014, 21:07:09 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 3.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Dam datę sztywną w zmiennej - działa. ***** Dam datę w zmiennej pobieranej z cURLa - nie działa:
echo $data; - działa; echo strtotime($data); - nie działa. Nie wiem już na prawdę, wszystko wydaje się być dobrze - czy nie można stosować str_replace? Muszę to zastosować, gdyż tylko tak wyciągnę datę. Dokładnie to wyskakuje, gdy Apr 28 2014, 15:33:14 CEST Gdy wtedy nic nie wyskakuje. Ten post edytował benzulli 28.04.2014, 22:02:41 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie: echo $data;
a: var_dump($data); to przekonasz sie co tak naprawde tam jest - byc moze jakies biale znaki, ktore psują -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 3.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Kod Apr 11 2014, 23:52:31 CEST echo $data; Kod string(0) "" string(46) "Apr 11 2014, 23:52:31 CEST" var_dump($data); Niby jest wszystko w porządku, gdy skopiuje tę datę bezpośrednio w postaci Kod Apr 11 2014, 23:52:31 CEST do instrukcji warunkowej - wtedy wszystko działa (lecz kiedy dam zmienną, która zawiera to samo (z której wpisałem datę) - nie działa Ten post edytował benzulli 29.04.2014, 11:45:46 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
var_dump wyraznie pokazuje, ze twoja data sklada sie 46 znakow, a sam przyznasz ze "Apr 11 2014, 23:52:31 CEST" nie zawiera 46 znakow, nieprawdaz?
Znaczy to, ze jest tam jeszcze cala masa bialych znakow, ktore psują wszystko. uzyj trim() - moze pomoze -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 3.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Wiem co jest nie tak: w źródle strony zamiast daty pojawiają się znaki specjalne: Apr 13 2014, 17:43:16 CEST (spacje i dwukropki są tak zapisane). Da radę to zmienić za pomocą str_replace?
$spacja = '&a#160;;'; (bez 'a', bo wtedy spacja sie pojawia). Kod $data = str_replace($spacja, ' ', $dataa); DZIAŁA, WIELKIE DZIĘKI MISTRZU! Ten post edytował benzulli 29.04.2014, 12:04:32 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 06:10 |