Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] odczyt z pliku txt do tablicy w php w pętli
Forum PHP.pl > Forum > Przedszkole
canismajoris
Witam

Mam prośbę, jak wykonać w php następującą funkcję.
Istnieje plik test.txt w nastepującej formie

wyraz1 wyraz2 wyraz3 wyraz4
.
.
.
i tak kilkanaście linijek
.
Chciałbym aby funkcja pobrała z każdej linijki każdy z 4 wyrazów i wstawiła te wyrazy do wierszy w tabeli w nastepujący sposob

(w tabeli)
______________________________
|wyraz1 | wyraz2 | wyraz3 | wyraz4|
|-----------------------------------------|
|wyraz1 | wyraz2 | wyraz3 | wyraz4|
|-----------------------------------------|
.
.
.
kilkanascie wierszy

(koniec tabeli)

mam nadzieję że dobrze wytłumaczyłem.
z góry dziękuje.
pozdrawiam
gorden
file, foreach, explode
canismajoris
a jakiś przykładowy kod.
zaczynam dopiero z php, dla kogoś kto wie co i jak to 30sek, ja cały dzień przy tym sedze i nie działa.
bedę wdzięczny.
pozdrawiam
.
bzeebzee
  1.  
  2. $plik = file_get_contents("plik.txt");
  3.  
  4. $plik = explode("\n", $plik);
  5.  
  6. for($i=0; $i<count($plik); ++$i) {
  7. $out[$i][] = explode(" ", $plik[$i]);
  8. }
  9.  
  10. echo "<pre>";
  11. print_r($out);
  12. echo "</pre>";
  13.  


Nie jestem pewien czy to działa, bo napisałem z palca. Musisz sprawdzić.
canismajoris
wielkie dzieki za odpwiedz , niestety efekt jest jak poznizej...potrzebuje aby pobrane z pliku dane znalazly sie w tabeli zwyklej tabeli html owej.
bede wdzieczny za jakiekolwek sugestie
pozdrawiam



Array
(
[0] => Array
(
[0] => Array
(
[0] => wyraz1
[1] => wyraz2
[2] => wyraz3
[3] => wyraz4
[4] => wyraz5
)

)

[1] => Array
(
[0] => Array
(
[0] => wyraz1
[1] => wyraz2
[2] => wyraz3
[3] => wyraz4
[4] => wyraz5
)

)

[2] => Array
gorden
no kolega Cię naprowadził na to jak to zrobić, teraz podstaw pod to kod, który utworzy tabele z danymi. przeanalizuj jak on działa, a nie czekasz na gotowca. bo jakikolwiek przykład Ci podać, dopóki nie osiągnie oczekiwanego przez Ciebie efektu, będzie zbędny.
tablica wygląda tak: $out[ wiersz ][ kolumna ]. teraz zrób pętlę i zamień to na htmlową tabele. nic trudnego
canismajoris
  1.  
  2. $wiersz = fopen('test.txt', 'rt' );
  3. while (!feof($wiersz)) {
  4. $linia = fgetcsv($wiersz,1024, ' ');
  5. echo "<TR><TD>{$linia[0]}</TD>" .
  6. "<TD>{$linia[1]}</TD>" .
  7. "<TD>{$linia[2]} {$linia[3]}</TD>" .
  8. "<TD>{$linia[4]}</TD></TR>\n";
  9. }
  10. fclose($wiersz);


ufff, poszło smile.gif , trochę inaczej ale działa, trochę zerżnełem z google, ogólnie nie wiem tylko do czego jest to 1024.
mam jeszcze dodatkowe pytanie czy jest opcja teraz jak już mam tabelę wykonac coś co pozwoli z poziomu www sortować całą tabelę wg. wybranej kolumny?

pozdrawiam
gorden
to już javascript, jeśli ma się zmieniać na bieżąco. a jeśli chcesz wyświetlić z poziomu php, to musisz to co jest tym txt jakoś uformować w zmiennej, działasz na niej wg swojej formułki i wyświetlasz htmlem. czyli coś na wzór kodu bzeebzee, tylko przelecieć przez $out kilkoma funkcjami
canismajoris
Witam

Mam jeszcze pytanie czy jak już sobie wyświetliłem w petli te kilka linijek w kilku kolumnach to czy jest opcja aby treść np. drugiej kolumny była przyciskiem który otwiera nowe okno w którym coś mi wyświetla?

pozdrawiam.
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.