![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 0 Dołączył: 15.01.2004 Skąd: Suwalki/Poznan Ostrzeżenie: (10%) ![]() ![]() |
Witam!!!
Problem wyglada nastepujaco Mam plik tak wygladajacy ... data | data1 | nazwa | telefon data | data1 | nazwa | telefon ... I teraz chce zrobic cos takiego pobrac informacje z pliku w ten sposob: dzisiaj jest jakis dzien wiec pobieram tresc z przedzialu "data" i "data1". i ja wyswietlam jesli znajdzie taki przedzial czyli np dzis jest 30.07.2004 a w pliku mam cos takiego ... 20.03.2004 | 29.07.2004 | aaa | 12345 30.07.2004 | 29.11.2004 | ccc | 1234 ... czyli porownuje daty wiec powinno mi wyswietlic informacje "ccc" i "1234" tylko nie wiem jak to zrobic? czy ktos moze mi w tym pomoc? dzieki bardzo |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
Wczytywać dane z pliku linia po linii (chyba fgets), rozbić stringa (explode), zamienić na timestamp i potem tylko porównywanie intów. Nie jest to zbyt optymalne wydajnościowo ale działa.
Optymalizacja 1: rozważ umieszczanie w pliku timestampów zamiast dat. Chyba że same daty są ci potrzebne do czegoś innego. To może trzymać jedno i drugie? Optymalizacja 2: gdyby wszystkie linie w pliku były tej samej długości, mógłbyś zastosować szukanie binarne/interpolacyjne. Zwłaszcza jeżeli przedziały są mniej więcej równomiernie rozłożone. Wszystko zależy od wielkości pliku. Dla kilkudziesięciu linii pewnie nie warto się męczyć. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 0 Dołączył: 15.01.2004 Skąd: Suwalki/Poznan Ostrzeżenie: (10%) ![]() ![]() |
ale tu bedzie tylko 52x4 danych
bo to chodzi o tygodnie w roku + informacje o adresie i numerze telefonu. a daty mi sie przydadza do dalszego wykorzystania i teraz pojawia sie problem jak zamienic format daty zapisany w ten sposob dd.mm.yyyy na timestampa ? poza tym nie wiem nawet jak tego uzyc wiec jesli moglby ktos przykladzik podrzucic bede wdzieczny |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
Do zamiany na timestampa służy chyba funkcja strtotime. Ale mi się przykładu pisać nie chce, bo mi się generalnie nie chce pisać przykładów, więc pewnie musisz sobie sam sprawdzić w manualu i sklecić.
A przy 52 rekordach to oczywiście nie ma sensu bawić się w optymalizację. Natomiast jeżeli to mają być konkretnie tygodnie w roku, to może da się mając datę wyznaczyć tydzień i skoczyć bezpośrednio do właściwej linii zamiast sprawdzać? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 0 Dołączył: 15.01.2004 Skąd: Suwalki/Poznan Ostrzeżenie: (10%) ![]() ![]() |
hawk
a moglbys jasniej to opisac?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) bo jakos nie moge zczzaic o co biega? Moze macie inne pomysly bo ja myslalem aby date rozbijac na dwie czesci i sprawdzac miesiac i dzien i porownywac tylko jeszcze nie wiem jak zrobic przeszukiwanie wszystkich rekordow.
i teraz nie wiem jak rozbic date z pliku na 3 czescie wiem ze uzywa sie funkcji explode ale nie wiem jak to odniesc do tego rodzaju danej bo probowalem napisac tak $aaa = explode(".", $idx[$numer_wpisu]); ale funkcja zwraca blad Array Ten post edytował miszqa 31.07.2004, 14:24:33 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 602 Pomógł: 1 Dołączył: 3.04.2004 Skąd: Trójmiasto (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
nie lepiej trzymać w takiej postaci??
Kod tydzien | nazwa | telefon tydzien | nazwa | telefon albo wręcz Kod nazwa | telefon nazwa | telefon gdzie numer linii => numer tygodnia masz 52 wiersze numerowane po tygodniu i potem
i po sprawie |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 0 Dołączył: 15.01.2004 Skąd: Suwalki/Poznan Ostrzeżenie: (10%) ![]() ![]() |
a mozesz to troszke rozjasnic i zastosowac do mojego przykladu bo nie za bardzo sie lapie
tym bardziej jak mam porownywac biezaca date z numerem tygodnia (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 602 Pomógł: 1 Dołączył: 3.04.2004 Skąd: Trójmiasto (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
o wlasnie o to mi chodzi żeby pominac biezaca date, a pobierac tylko numer aktualnego tygodnia
Ten post edytował rogrog 31.07.2004, 15:27:51 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 0 Dołączył: 15.01.2004 Skąd: Suwalki/Poznan Ostrzeżenie: (10%) ![]() ![]() |
no tak tylko ze jest pewien problem potrzebuje jednak wyciagac date biezaca bo to jest podzielone w ten sposob
od srody do wtorku itd... wiec... tygodnie odpadaja |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 17:55 |