![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 1 Dołączył: 14.11.2007 Ostrzeżenie: (10%) ![]() ![]() |
Witam. Mam pewien plik dzialy.dat i zmienną $nazwa. Przykładowa truktura pliku, jednej linni to:
2||$nazwa||tekst1||tekst2[znak nowej linni] Musze napisać skrypt, który za sprawą zmiennej $nazwa zwróci mi numer linijki, w którym $nazwa się zawiera. Przykład? $linijka = [która linijka tekst] dla $nazwa = 'jest' i dla takiego pliku działy.dat skrypt powinien zwrócić wartość 3 (bo w 3 linijce): 2||blabla||tekst1||tekst2[znak nowej linni] 78|baerew||tekst1||tekst2[znak nowej linni] 4||jest||tekst1||tekst2[znak nowej linni] 3||trybtr||tekst1||tekst2[znak nowej linni] Czy ktoś wie jakbym mógł sie do tego zabrać wogóle? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
wystarczy przypisać linijkę jedną tak jak to zrobił l0ud - a dokładniej zamiast:
Kod list($pobrano,$plik,$koment,$gat) = explode('||',fgets($uchwyt)); zapisać: Kod $jakas_tablica= explode('||',fgets($uchwyt)); do poszczególnych elementów tablicy będziesz się odwoływał poprzez $jakas_tablica[0]...$jakas_tablica[1].... itd.... możesz jeszcze gdzie indziej "porzucać" zmienne... w sumie wystarczyło przerobić to co zaproponował l0ud - tyle, że tamto jest dobre dla malych plików z funkcją file() - przy większych będzie to i wolno działało i może doiść do przepełnienia pamięci - moim zdaniem lepiej było użyć fgets() które przeszukuje plik wiersz po wierszu i także umożliwia podliczenie tych wierszy, lub skorzystać z młodszej funkcji fgetcsv() dzięki której ni e musielibysmy urzywać funkcji explode() ... funkcją list() któ rą ja użyłem po prostu przypisywało się elementy tablicy do zmiennych... polecam przeglądanie funkcji i trochu poczytanie w manualu: http://php.net.pl/manual/pl/index.php - cześciowo spolszczony, sporo też po angielsku - jeśli szukasz opisu konkretnej funkcji php to wpisz jej nazwę w polu szukania... poza tym poważnie poczytaj o bazie SQLite - jest ona przechowywana w jednym pliku - najlepiej zainteresuj się od razu SQLite 3 i nie czytaj na temat funkcji bezpośrednich do tej bazy tylko poczytaj jeszcze o PDO które jest uniwersalne do wielu baz i to na przyszłość by Ci się bardzo przydało... do bazy SQLite możesz się odwoływać bezpośrednio zapytaniami SQL, sortować wyniki i inne - podczas gdy operując na płaskich bazach danych opartych o notatnik wszystko musisz jakby przeżąglować przez php... Ten post edytował zegarek84 30.10.2008, 10:35:48 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 20:42 |