![]() |
![]() |
![]()
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 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.07.2025 - 00:08 |