![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
witam dziś już próbowałem w innym temacie rozwiązania tego problemu ale nie udało mi się .......... podejrzewam że źle chciałem się do tego zabrać więc zacznę od początku. otóż mam tabele w której oprócz 1 wiersza następne wyglądają tak:
chciałbym dla wszystkich wierszy pobrać wartości z 2 3 i 4 Kolumny jak miało by to wyglądać ,czy to jest do wykonania ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Administratorzy Postów: 1 552 Pomógł: 211 Dołączył: 7.07.2009 Skąd: NJ ![]() |
Na chama możesz przecież skorzystać z explode()... chyba, że czegoś nie rozumiem
![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Administratorzy Postów: 1 552 Pomógł: 211 Dołączył: 7.07.2009 Skąd: NJ ![]() |
Zakładałam, że tabelkę z HTML masz w zmiennej. Wtedy otrzymasz tablicę z pozycjami wierszy. Dodatkowa pętla może Ci pomóc "zgarnąć" tylko te dane, które Cię interesują.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
cała zawartosc strony jest pod zmienna.. ;p mógłbyś mniej więcej pokazać jak by to miało wyglądać
![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 380 Pomógł: 59 Dołączył: 24.04.2010 Skąd: London Ostrzeżenie: (0%) ![]() ![]() |
później daj sobie: i wedle kluczy wyciągnij co potrzebujesz: np: -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Administratorzy Postów: 1 552 Pomógł: 211 Dołączył: 7.07.2009 Skąd: NJ ![]() |
Najpierw wyciągnij sobie do zmiennej samą tabelkę (sposobem dowolnym). Potem np. $tab = explode("<td>", $zmienna) - otrzymasz tablicę z poszczególnymi wierszami. Wyczyść ją z tagów htmlowskich i skorzystaj z np. pętli, żeby wyciągnąć tylko te dane, które Cię interesują. Jeżeli interesuje Cię np. co trzecia wartość z tablicy wszystkich danych, to:
@up Explode() rób z wartości powtarzalnych. Pierwsza wartość jest przecież "dzielnikiem". Ten post edytował Daiquiri 18.09.2010, 15:39:32 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
hmm zrobiłem specialnie zmienną tylko z 2 wierszami TR ->
wydaje mi się że zrobiłem tak jak opisałeś Daiquiri i wychodzi (w moim przykładzie) że każda wartość to oddzielna zmienna.. to jak ja teraz rozpoznam że tablica1,2,3,4,5 jest Marka 6,7,8,9,10 Jurka itd.... ![]() Ten post edytował Ulysess 18.09.2010, 15:56:10 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Administratorzy Postów: 1 552 Pomógł: 211 Dołączył: 7.07.2009 Skąd: NJ ![]() |
Bo korzystasz ze złego parametru w explode(). Przecież <td> nie występuje wszędzie (<td> to nie to samo co <td height="20">). Jeżeli natomiast interesują Cię dane bez tego co w <td height="20"> to zacznij od $i=1 nie $i=0.
Ten post edytował Daiquiri 18.09.2010, 16:08:27 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
próbowałem to rozbić jeszcze bardziej i coś nie wychodzi..
chodzi o to że chce zrobić aby każdy wiersz był w 1 wymiarze tablicy a w 2 znajdowaly się dla niego 3-4 dane niestety coś źle robie.. :/ |
|
|
![]()
Post
#12
|
|
![]() Grupa: Administratorzy Postów: 1 552 Pomógł: 211 Dołączył: 7.07.2009 Skąd: NJ ![]() |
lub to samo tylko z zapisem do tablicy:
Wtedy: tab[0][0] - to będzie 40, tab[0][1] - to będzie "Marek" itd. tab[1][0] - to będzie 41, tab[1][1] - to będzie "Jurek" itd. Ten post edytował Daiquiri 18.09.2010, 17:01:04 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 450 Pomógł: 84 Dołączył: 27.11.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
explode tutaj ? bardziej sprawdziło by się przy rozbijaniu jakiegoś stringa na tablicę stałym separatorem, w tym przypadku dochodzi czyszczenie z tagów - zbędne.
za (.*) możesz podstawić bardziej określony typ danych, ale to już zależy co tam w tej tabelce przedstawiasz Ten post edytował Quantum 18.09.2010, 17:47:27 |
|
|
![]()
Post
#14
|
|
![]() Grupa: Administratorzy Postów: 1 552 Pomógł: 211 Dołączył: 7.07.2009 Skąd: NJ ![]() |
Explode() było alternatywą (chamską, ale zawsze) dla preg_match.
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 450 Pomógł: 84 Dołączył: 27.11.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
swoją drogą, żeby nie wykonywać za każdym razem count($tab1) w for dobrą praktyką jest przypisywanie liczby do zmiennej i podstawianie w pętli, funkcja wykona się tylko raz, a nie tyle ile elementów ma tablica
![]() |
|
|
![]()
Post
#16
|
|
![]() Grupa: Administratorzy Postów: 1 552 Pomógł: 211 Dołączył: 7.07.2009 Skąd: NJ ![]() |
Masz oczywiście rację
![]() |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
wielkie dzięki za rozwiązanie problemu ..
![]() ![]() |
|
|
![]()
Post
#18
|
|
![]() Grupa: Administratorzy Postów: 1 552 Pomógł: 211 Dołączył: 7.07.2009 Skąd: NJ ![]() |
Możesz oczywiście zamknąć - ja po prostu zwykle to pomijam
![]() |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 450 Pomógł: 84 Dołączył: 27.11.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
działa jak należy, tylko nie zrób wcięć w patternie przypadkiem
![]()
powinieneś dostać taki wynik: Kod 1: Marek
2: 23 3: 152,767 ---------- 1: Jurek 2: 23 3: 152 ---------- Ten post edytował Quantum 19.09.2010, 13:57:14 |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
oo wielkie dzięki , działa
![]() ciekawostką jest to że rozwiązanie z explode wykonuje się szybciej od preg_match_all ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 09:07 |