Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Przypisanie wartości z pliku txt do zmiennej
busyboy
post 23.09.2016, 12:47:20
Post #1





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 22.02.2004

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


Witam,

Mam takie problem, w pliku txt mam zapisane wartości :

  1. 960;5;717884
  2. 960;5;718355


Chodzi o to żeby wartości 717884 i 718355 były zapisane w jakieś zmiennej w następujący sposób :

  1. '717884 ','718355'



Zrobiłem coś takiego :

  1. $row = 1;
  2. if (($handle = fopen("zam.txt", "r")) !== FALSE) {
  3. while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
  4. $num = count($data);
  5. $row++;
  6. echo $data[2];
  7. echo '<br>';
  8. }
  9. }


Ale niestety zmienna $data[2] jest nadpisywana w pętli - proszę o pomoc w rozwiązaniu problemu.
Go to the top of the page
+Quote Post
emstawicki
post 23.09.2016, 12:59:35
Post #2





Grupa: Zarejestrowani
Postów: 207
Pomógł: 40
Dołączył: 2.06.2016
Skąd: Olsztyn

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


Utwórz sobie przed pętlą pustą tablicę na wyniki, a w działaniu pętli dodawaj nowy wynik to owej tablicy.


--------------------
Jak w Olsztynie, to tylko w Revolver Rock Cafe .
Sprawdź postęp propagacji DNS
Go to the top of the page
+Quote Post
busyboy
post 23.09.2016, 13:08:16
Post #3





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 22.02.2004

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


Coś mi nie chce za bardzo dodać sad.gif

  1. <?php
  2. $row = 1;
  3.  
  4. $tablica[0];
  5. if (($handle = fopen("zam.txt", "r")) !== FALSE) {
  6. while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
  7. $num = count($data);
  8. $row++;
  9. $tablica[0] = $tablica[0] + "'".$data[2]."',";
  10. }
  11. }
  12. echo $tablica[0];
  13. echo '<br>'
  14. ?>
Go to the top of the page
+Quote Post
pakolord
post 23.09.2016, 13:17:54
Post #4





Grupa: Zarejestrowani
Postów: 82
Pomógł: 0
Dołączył: 27.02.2014

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


  1. $urlfile = 'plik.txt' ;
  2. @$plik = file($urlfile);
  3.  
  4. for($x=0; $x<count($plik); $x++)
  5. {
  6. echo $plik[$x];
  7. echo '<br>';
  8. }
Go to the top of the page
+Quote Post
busyboy
post 23.09.2016, 13:22:43
Post #5





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 22.02.2004

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


Tylko że plik ma określoną strukturę :

  1. 960;5;717884
  2. 960;5;718355


I chodzi mi o wartości 717884 i 718355 w takiej formie :

  1. '717884','718355'

Go to the top of the page
+Quote Post
emstawicki
post 23.09.2016, 13:24:14
Post #6





Grupa: Zarejestrowani
Postów: 207
Pomógł: 40
Dołączył: 2.06.2016
Skąd: Olsztyn

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


sciana.gif sciana.gif
Trzymaj każdy wynik jako osobny element tablicy...

Utworzenie pustej tablicy:
  1. $tablica = array();

Dodanie do tablicy czegokolwiek:
  1. $tablica[] = 'Manual boli jak pierwszy raz';



--------------------
Jak w Olsztynie, to tylko w Revolver Rock Cafe .
Sprawdź postęp propagacji DNS
Go to the top of the page
+Quote Post
pakolord
post 23.09.2016, 13:31:02
Post #7





Grupa: Zarejestrowani
Postów: 82
Pomógł: 0
Dołączył: 27.02.2014

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


  1. $urlfile = 'test.txt' ;
  2. @$plik = file($urlfile);
  3.  
  4. for($x=0; $x<count($plik); $x++)
  5. {
  6. $dane = explode(";", $plik[$x]);
  7. echo $dane[2];
  8. echo "','";
  9. }


Ten post edytował pakolord 23.09.2016, 13:31:28
Go to the top of the page
+Quote Post
busyboy
post 23.09.2016, 13:36:55
Post #8





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 22.02.2004

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


Zrobiłem coś takiego :

  1. <?php
  2. $row = 1;
  3.  
  4. $tablica = array();
  5. if (($handle = fopen("zam.txt", "r")) !== FALSE) {
  6. while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
  7. $num = count($data);
  8. $row++;
  9. $tablica[]=$data[2];
  10. }
  11. }
  12. for ($i=0;$i<$row; $i++)
  13. echo "'".$tablica[$i]."',";
  14. ?>


Wynik :

  1. '717801','718302','717803','',


Bez obcięcia znaków na końcu się nie obejdzie questionmark.gif

I chciałbym zapisać to jakiejś zmiennej bym można było wykorzystać dane poza pętlą for

Trochę powalczyłem i mam coś takiego :

  1. <?php
  2. $row = 1;
  3. $tablica = array();
  4. if (($handle = fopen("zam.txt", "r")) !== FALSE) {
  5. while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
  6. $num = count($data);
  7. $row++;
  8. $tablica[$row]="'".$data[2]."',";
  9. }
  10. }
  11. print_r($tablica);
  12. ?>


Wynik : Array ( [2] => '717801', [3] => '718302', [4] => '717803', )

Jak można to wyświetlić w normalnej formie questionmark.gif

Wynik : '717801','718302','717803'

Ten post edytował busyboy 23.09.2016, 14:03:02
Go to the top of the page
+Quote Post
KsaR
post 23.09.2016, 14:25:53
Post #9





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


  1. echo rtrim(implode($tablica), ',');


--------------------
Go to the top of the page
+Quote Post
Rysh
post 23.09.2016, 18:53:34
Post #10





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Zobacz to http://www.php.net/manual/en/function.str-getcsv.php


--------------------
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: 19.04.2024 - 04:24