Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Filtrowanie danych z pliku *.txt
reyne
post 11.09.2012, 13:37:46
Post #1





Grupa: Zarejestrowani
Postów: 73
Pomógł: 1
Dołączył: 19.12.2007

Ostrzeżenie: (0%)
-----


Mam plik dane.txt który zawiera dane użytkowników

  1. 324 | test1 | opis | email2@email.pl | 321
  2. 326 | test2 | cos | 213@wp.pl | 695
  3. 327 | test3 | bla | 2133@wp.pl | 615
  4. 328 | test4 | kolejnyopis | 2163@wp.pl | 625


Chcę pobrać dane do tablicy w PHP i wyświetlić je na ekranie (email;nick):

  1. <?php
  2. $string = file_get_contents('dane.txt');
  3. $lines = (explode(" | ",$string,5));
  4. $data = array();
  5. foreach($lines as $line)
  6. {
  7. $data[] = $line;
  8. echo "".$data[3].";".$data[1]."<br>";
  9. }
  10. ?>


Wyskakuje jednak błąd.

  1. Notice: Undefined offset: 3 in C:\xampp\htdocs\baza\czytaj2.php on line 8
  2.  
  3. Notice: Undefined offset: 1 in C:\xampp\htdocs\baza\czytaj2.php on line 8
  4. ;
  5.  
  6. Notice: Undefined offset: 3 in C:\xampp\htdocs\baza\czytaj2.php on line 8
  7. ;test1
  8.  
  9. Notice: Undefined offset: 3 in C:\xampp\htdocs\baza\czytaj2.php on line 8
  10. ;test1
  11. email2@email.pl;test1
  12. email2@email.pl;test1


Co robię źle?

Ten post edytował reyne 11.09.2012, 13:40:58
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Szymciosek
post 11.09.2012, 13:43:07
Post #2





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

Ostrzeżenie: (0%)
-----


Wszystko działa ok, ale potrzebujesz w sumie drugiej pętli, bo teraz w pętli foreach próbujesz odebrać złe dane.

  1. <?php
  2. $string = file_get_contents('dane.txt');
  3. $lines = (explode(" | ",$string));
  4. $data = array();
  5. foreach($lines as $line)
  6. {
  7. $data[] = $line;
  8. //echo "".$data[3].";".$data[1]."<br>";
  9. }
  10.  
  11. foreach($data as $d)
  12. {
  13. echo $d . "<br />";
  14. }
  15.  
  16. echo "<br /><br />";
  17. echo $data[0];
  18. ?>
Go to the top of the page
+Quote Post
pehaperowiec
post 11.09.2012, 13:46:07
Post #3





Grupa: Zarejestrowani
Postów: 91
Pomógł: 8
Dołączył: 26.09.2011

Ostrzeżenie: (10%)
X----


Co robisz źle? Bład algorytmiczny - operujesz na nie istniejących indeksach
  1. <?php
  2.  
  3. $tmp_txt=file("plik.txt");
  4.  
  5. $i=count($tmp_txt);
  6. $j=0;
  7.  
  8. while($j<$i) {
  9. $txt[]=explode(" | ", $tmp_txt[$j]);
  10.  
  11. ++$j;
  12. }
  13.  
  14. echo '<pre>';
  15. print_r($txt);
  16. echo '</pre>';
  17.  
  18. ?>
Nie prościej? Teraz zrób z tą tablicą co Ci się żywnie podoba smile.gif
Go to the top of the page
+Quote Post
reyne
post 11.09.2012, 13:55:45
Post #4





Grupa: Zarejestrowani
Postów: 73
Pomógł: 1
Dołączył: 19.12.2007

Ostrzeżenie: (0%)
-----


dzięki Panowie, wszystko śmiga smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 03:15