Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] BARDZO dziwny problemz iteracją INSERT'a, Czyli jak wczytać dane z pliku do bazy
radosss
post 8.04.2009, 19:07:36
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 20.11.2008

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


Witam

Moze zaczne od poczatku. Chcialbym otworzyc plik txt, wczytac z niego wartosci po czym zapisac je w tabeli w bazie. Wydaje sie banalne, ale niestety jedna rzecz ktora POWINNA za cholere nie chce dzialac. Ale do rzeczy:

Otwieramy plik:

Kod
if($_POST["choice"] == "file"){

     $filename = $_POST["file"];
    
     if (is_file($filename))
     {
         $file = fopen($filename, "r");


Dane w pliku txt zapisane sa w formacie:

dane1(średnik)dane2(średnik)dane3 przkładowo:
1999-03-04;23;45

nastepnie petla while i rozbicie kazdej lini na pojedyncze elementy:

Kod
while(!feof($file))
         {
             $line = fgets($file, 1024);
             $dane = explode(";",$line);


przy kazdej iteracji mamy zmienne $dane[0], $dane[1] i $dane[2] reprezentujace poszczegolne wartosci z kazdej lini z pliku. no to co z nimi zrobic? do bazy je i konczymy petle:

Kod
$query = mysql_query("INSERT INTO $table_name VALUES( '0' , '$id_patient' , '$dane[0]', '$dane[1]' , '$dane[2]'");
               }

        
         }
          
         fclose($file);
     }

}


(w insercie pierwsza wartosc "0" to zmienna autoincrement "id" a id patient to stała, wiec zmieniaja sie prtrzy kazdej iteracji tylko dane[x])

Majac taki kod, przy kazdej iteracji while dostajemy rozne dane[x], wiec przeprowadzajac kazdorazowo insert powinnismy miec tyle insertow ile lini w pliku tak? NIE! dostajemy nie dosc tylko JEDEN wpis (nawet jezeli while iteruje wielorotnie) to jest to wpis zawierajacy dane z OSTANIEJ lini, wszystkie pozostale sa olewane.
Moim zdaniem wyglada to jakby insert wykonywany byl PO po wykonaniu petli while, pomimo ze znajduje sie w niej :/

ktos ma jakis pomysl?
z gory dzieki

Ten post edytował radosss 8.04.2009, 21:45:29
Go to the top of the page
+Quote Post

Posty w temacie


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: 25.07.2025 - 00:08