Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: aktualizacja danych z pliku txt do mysql
Forum PHP.pl > Forum > Bazy danych > MySQL
programista28
Witam szanowne grono specjalistów moj problem dotyczy aktualizacji plików z pliku.txt do bazy danych mysql

plik txt jest w postaci :

The Body Odd - msnbc.com{http://bodyodd.msnbc.msn.com/{Irreverent insights about all things medical{bodyodd.msnbc.msn.com
The Body Odd - msnbc.com{http://bodyodd.msnbc.msn.com/{Irreverent insights about all things medical{bodyodd.msnbc.msn.com
The Body Odd - msnbc.com{http://bodyodd.msnbc.msn.com/{Irreverent insights about all things medical{bodyodd.msnbc.msn.com
The Body Odd - msnbc.com{http://bodyodd.msnbc.msn.com/{Irreverent insights about all things medical{bodyodd.msnbc.msn.com
The Body Odd - msnbc.com{http://bodyodd.msnbc.msn.com/{Irreverent insights about all things medical{bodyodd.msnbc.msn.com
The Body Odd - msnbc.com{http://bodyodd.msnbc.msn.com/{Irreverent insights about all things medical{bodyodd.msnbc.msn.com

czyli jak widac dane rozdzielone sa separatorem {

mam do tego taki kod :

<?php
$fp = fopen('wyszukane2.txt','r');
if (!$fp) {echo 'ERROR: Unable to open file.</table></body></html>'; exit;}
$loop = 0;
while (!feof($fp)) {
$loop++;
$line = fgets($fp, 1024); //use 2048 if very long lines
$field[$loop] = explode ('{', $line);
echo '
<tr>
<td>'.$field[$loop][0].'</td>
<td>'.$field[$loop][1].'</td>
<td>'.$field[$loop][2].'</td>
<td>'.$field[$loop][3].'</td><br>
</tr>';
$fp++;

$first=$field[$loop][0];
$last=$field[$loop][1];


$phone="http://www.Glasgow.pl";








$username="root";
$password="krasnal";
$database="frm1";



mysql_connect(localhost,$username,$password);

mysql_select_db('frm1');

if (4>2){
$dodaj ="UPDATE glob SET tytul='".$first."',opis='".$last."' WHERE adres='".$phone."'"; /////////////////update na podstawie id_gr,id_ra,id_us///
$results = mysql_query($dodaj) or die (mysql_error());
echo "zupdatowalem";

}

}

echo "Rekord zaktualizowany";
mysql_close();

fclose($fp);


echo "<b>Zaktualizowane</b>";


?>

ale niestety nie dziala i jeszcze chcialbym zapytac co z aktualizacja danych jesli mialbym ich np 20 000 wynikow

bo przy wiekszej ilosci uzyskuje taki komunikat

Fatal error: Maximum execution time of 120 seconds exceeded in c:\usr\apache\httpd\html\plaski\plaski2.php on line 41

z góry dziekuję za wszelką pomoc
ActivePlayer
Pojawiaja Ci sie jakies bledy? Mozesz przeniesc laczenie z baza na sam poczatek, bo tutaj dla kazdego rekordu na nowo laczysz sie z baza.

Uzyj bbcode poprawnie bo ciezko sie to czyta.
programista28
  1. <?php
  2. $fp = fopen('wyszukane2.txt','r');
  3. if (!$fp) {echo 'ERROR: Unable to open file.</table></body></html>'; exit;}
  4. $loop = 0;
  5. while (!feof($fp)) {
  6. $loop++;
  7. $line = fgets($fp, 1024); //use 2048 if very long lines
  8.  
  9.  
  10.  
  11. $username="root";
  12. $password="krasnal";
  13. $database="frm1";
  14.  
  15.  
  16. mysql_connect(localhost,$username,$password);
  17.  
  18.  
  19.  
  20. $field[$loop] = explode ('{', $line);
  21. <tr>
  22. <td>'.$field[$loop][0].'</td>
  23. <td>'.$field[$loop][1].'</td>
  24. <td>'.$field[$loop][2].'</td>
  25. <td>'.$field[$loop][3].'</td><br>
  26. </tr>';
  27. $fp++;
  28.  
  29. $first=$field[$loop][0];
  30. $last=$field[$loop][1];
  31.  
  32.  
  33. $phone="http://www.Glasgow.pl";
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40. if (4>2){
  41. $dodaj ="UPDATE glob SET image_caption='".$first."',image_username='".$last."' WHERE adres='".$phone."'"; /////////////////update na podstawie id_gr,id_ra,id_us///
  42. $results = mysql_query($dodaj) or die (mysql_error());
  43. echo "zupdatowalem";
  44.  
  45. }
  46.  
  47. }
  48.  
  49. echo "Rekord zaktualizowany";
  50.  
  51. fclose($fp);
  52.  
  53.  
  54. echo "<b>Zaktualizowane</b>";
  55.  
  56.  
  57. ?>


W tej chwili plik odczytuje wszystkie wyniki az do czasu wystapienia bledu:

Fatal error: Maximum execution time of 120 seconds exceeded in c:\usr\apache\httpd\html\plaski\plaski2.php on line 44

Uaktualnia wyniki gdzie jako adres jest http://www.glasgow.pl
ale dodaje wszedzie ostatni wynik ktory zostanie przeczytany przed wystapieniem bledu

Edycja Skasowanie 3 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 4 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 5 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 6 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 7 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 8 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 9 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 10 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 11 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 12 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 13 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 14 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 15 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 16 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 17 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 18 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 19 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 20 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 21 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 22 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 23 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 24 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 25 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 26 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 27 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 28 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 29 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl
Edycja Skasowanie 30 New Snapple Taste-Test: No HFCS, Fewer Calories. B... http://www.fastcompany.com/blog/linda-tischler/des... http://www.Glasgow.pl


tak to wyglada w tej chwili sad.gif

p.s. co do bbcode jeszcze nie bardzo umiem tego uzywac sad.gif
ActivePlayer
zacznij od przeniesienia linii 16 i 18 na 2 i 3 linijke tego skryptu.
programista28
Cytat(ActivePlayer @ 9.07.2011, 11:59:20 ) *
zacznij od przeniesienia linii 16 i 18 na 2 i 3 linijke tego skryptu.


  1. <?php
  2.  
  3. $username="root";
  4. $password="krasnal";
  5.  
  6.  
  7.  
  8. mysql_connect(localhost,$username,$password);
  9.  
  10.  
  11. $fp = fopen('wyszukane2.txt','r');
  12. if (!$fp) {echo 'ERROR: Unable to open file.</table></body></html>'; exit;}
  13. $loop = 0;
  14. while (!feof($fp)) {
  15. $loop++;
  16. $line = fgets($fp, 1024); //use 2048 if very long lines
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26. $field[$loop] = explode ('{', $line);
  27. <tr>
  28. <td>'.$field[$loop][0].'</td>
  29. <td>'.$field[$loop][1].'</td>
  30. <td>'.$field[$loop][2].'</td>
  31. <td>'.$field[$loop][3].'</td><br>
  32. </tr>';
  33. $fp++;
  34.  
  35. $tytul=$field[$loop][0];
  36. $opis=$field[$loop][1];
  37.  
  38.  
  39. $phone="http://www.Glasgow.pl";
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46. if (4>2){
  47. $dodaj ="UPDATE glob SET tytul='".$first."',opis='".$last."' WHERE adres='".$phone."'"; /////////////////update na podstawie id_gr,id_ra,id_us///
  48. $results = mysql_query($dodaj) or die (mysql_error());
  49. echo "zupdatowalem";
  50.  
  51. }
  52.  
  53. }
  54.  
  55. echo "Rekord zaktualizowany";
  56.  
  57. fclose($fp);
  58.  
  59.  
  60. echo "<b>Zaktualizowane</b>";
  61.  
  62.  
  63. ?>


prosze bardzo musialem również przenieść $username i $password wymagane do polaczenia



ActivePlayer
dziekuje bardzo;-) zapomniales napisać czy cos sie zmieniło;-)
ile masz linii w tym pliku?
prachwal
load data infile.... waszym przyjacielem jest

robienie tego skryptem to rzeźba!, ładowanie w trybie wsadowym jest setki razy szybsze
programista28
Cytat(ActivePlayer @ 9.07.2011, 15:07:58 ) *
dziekuje bardzo;-) zapomniales napisać czy cos sie zmieniło;-)
ile masz linii w tym pliku?



W zwiazku z przeniesieniem zapytania zmniejszyl sie czas wykonywania pliku
jednakze rezultat jest ten sam co byl (nic sie nie zmienilo pod tym wzgledem nadal wystepuje blad sad.gif



Fatal error: Maximum execution time of 120 seconds exceeded in c:\usr\apache\httpd\html\plaski\plaski2.php on line 41



Cytat(prachwal @ 9.07.2011, 17:44:48 ) *
load data infile.... waszym przyjacielem jest

robienie tego skryptem to rzeźba!, ładowanie w trybie wsadowym jest setki razy szybsze


? czy ta funkcja obsluguje rowniez aktualizacje ?


znalazlem taki kod dla wstawienia danych ?

$load="LOAD DATA INFILE plik.csv INTO TABLE rotacja FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' ignore 0 lines";

a jak by on musial wygladac dla aktualizacji ? hmm
i czy wogole to jest mozliwe ?


Cytat(prachwal @ 9.07.2011, 17:44:48 ) *
load data infile.... waszym przyjacielem jest

robienie tego skryptem to rzeźba!, ładowanie w trybie wsadowym jest setki razy szybsze



? czy ta funkcja obsluguje rowniez aktualizacje ?


znalazlem taki kod dla wstawienia danych ?

$load="LOAD DATA INFILE plik.csv INTO TABLE rotacja FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' ignore 0 lines";

a jak by on musial wygladac dla aktualizacji ? hmm
i czy wogole to jest mozliwe ?

Cytat(prachwal @ 9.07.2011, 17:44:48 ) *
load data infile.... waszym przyjacielem jest

robienie tego skryptem to rzeźba!, ładowanie w trybie wsadowym jest setki razy szybsze


? czy ta funkcja obsluguje rowniez aktualizacje ?


znalazlem taki kod dla wstawienia danych ?

$load="LOAD DATA INFILE plik.csv INTO TABLE rotacja FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' ignore 0 lines";

a jak by on musial wygladac dla aktualizacji ? hmm
i czy wogole to jest mozliwe ?

Cytat(prachwal @ 9.07.2011, 17:44:48 ) *
load data infile.... waszym przyjacielem jest

robienie tego skryptem to rzeźba!, ładowanie w trybie wsadowym jest setki razy szybsze


czy ta funkcja obsluguje rowniez aktualizacje ?


znalazlem taki kod dla wstawienia danych ?

$load="LOAD DATA INFILE plik.csv INTO TABLE rotacja FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' ignore 0 lines";

a jak by on musial wygladac dla aktualizacji ? hmm
i czy wogole to jest mozliwe ?
prachwal
ładujesz do jakiejś tabeli tymczasowej i dopiero robisz update np. za pomocą insert into on duplicate key
programista28
Cytat(prachwal @ 11.07.2011, 00:16:46 ) *
ładujesz do jakiejś tabeli tymczasowej i dopiero robisz update np. za pomocą insert into on duplicate key



brzmi sensownie na pewno spróbuję smile.gif
dzieki

jednak wczytywanie za pomoca skryptu również mnie interesuje smile.gif
wiec nie zamykam wątku
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.