Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> php+mysql, problem z wykonaniem pliku
-Gość_kober-
post
Post #1





Goście







Witam

jestem w trakcie tworzenia pewnego sklepu internetowego i natrafilem na maly problem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) potrzebuje zrobic skrypt ktory po uruchomieniu odczyta plik txt i doda go odpowiednio do bazy mySQL skrypt ma nastepujaca ostac:

  1. <?php
  2.  
  3. include(&#092;"./inc/funkcje.inc.php\");
  4. $produkty=file(&#092;"dowrzucenia.txt\");
  5. $ilosc_produktow=count($produkty);
  6.  
  7. for ($i=0; $i<$ilosc_produktow; $i++)
  8. {
  9. $linia=explode(&#092;"|\", $produkty[$i]);
  10.  
  11. $baza = baza();
  12.  
  13. $wynik = zapytanie (&#092;"INSERT INTO `akcesoria` (`id`, `id_dzialu`, `nazwa`, `producent`, `opis`, `cena`, `marza`, `podatek`
    ,
  14. `aktywne`) VALUES ('', '$linia[2]', '$linia[0]', '$linia[1]', '', '$linia[3]', '30', '$linia[5]', '1') \");
  15.  
  16. $wynik = zapytanie ('SELECT id FROM akcesoria ORDER BY id DESC LIMIT 1');
  17. $numerek = mysql_fetch_array($wynik);
  18.  
  19. $wynik = zapytanie (\"INSERT INTO `cennik` (`id`, `id_produktu`, `nazwa`, `cena`, `marza`, `podatek`, `promocja`) VALUES ('', 'A-$linia[2]-$numerek[id]', '$linia[0]', '$linia[3]', '30', '$linia[5]', '0') \");
  20. }
  21.  
  22. if ($i=$ilosc_produktow)
  23. echo \"oki wszystko\";
  24. ?>


natomiast plik dowrzucenia.txt

Kod
SKAŁA GRZEWCZA MINI 5W RH-2E|ZooMed|3|45.47|55.47|22|55.47
SKAŁA GRZEWCZA STANDART 10W RH-1E|ZooMed|3|59.91|73.09|22|73.09
SKAŁA GRZEWCZA GIANT 15W RH-3E|ZooMed|3|80.75|98.52|22|98.52


nie wiem co zrobilem zle (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) bo niechce mi wrzucac tego do bazy (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) moze ktos moglby w jakis sposob pomoc i/lub usprawnic moj skrypt ?(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) z gory dziekuje za wszystkie sugestie i podpowiedzi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Dabroz
post
Post #2





Grupa: Zarejestrowani
Postów: 286
Pomógł: 0
Dołączył: 1.11.2003
Skąd: Poland, Płock

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


A co konkretnie nie działa? Jaki błąd się pokazuje?
Go to the top of the page
+Quote Post
Bakus
post
Post #3


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

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


  1. <?php
  2. $wynik = zapytanie (&#092;"INSERT INTO `akcesoria` (`id`, `id_dzialu`, `nazwa`, `producent`, `opis`, `cena`, `marza`, `podatek`
    ,
  3. `aktywne`) VALUES ('', '$linia[2]', '$linia[0]', '$linia[1]', '', '$linia[3]', '30', '$linia[5]', '1') \");
  4. ?>

Co to jest za funkcja "zapytanie" ?

Taki kod zadziała...
  1. <?php
  2. $wynik = mysql_query(&#092;"INSERT INTO `akcesoria` (`id`, `id_dzialu`, `nazwa`, `producent`, `opis`, `cena`, `marza`, `podatek`
    ,
  3. `aktywne`) VALUES ('', '\" . $linia[2] . \"', '\" . $linia[0] . \"', '\" . $linia[1] . \"', '', '\" . $linia[3] . \"', '30', '\" . $linia[5] . \"', '1') \");
  4. ?>

Poprawiłem "zapytanie" na "mysql_query" i wstawiłem zmienne tablicowe jak manual przykazał...
To samo musisz zrobić z pozostałymi zapytaniami...

@Dabroz: Przy błędach składni nie potrzeba wyniku działania... (komunikatu o błędzie...)
Go to the top of the page
+Quote Post
-Gość_kober-
post
Post #4





Goście







no wlasnie najgorsze jest to ze nie pokazuje zadnego bledu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) kiedys ten kod zadzialal wrzucilo sie jakies 50% z tego co sie mialo wrzucic a dzis juz nic nie dziala... nawet jezeli probuje wyswietlic ilosc linii w pliku pokazuje mi ciagle 1 chociaz w pliku jest cos ponad 140 poduktow mozeby jakies ograniczenia czasowe porobic? albo cos takiego? nie mam pomyslu jak zrobic zeby to dzialalo a pilnie tego potrzebuje (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

  1. <?php
  2. function zapytanie ($zapytanie)
  3. {
  4. $pytanie = &#092;"$zapytanie\";
  5. $wynik_ = mysql_query($pytanie);
  6.  
  7. return $wynik_;
  8. }
  9. ?>
Go to the top of the page
+Quote Post
Dabroz
post
Post #5





Grupa: Zarejestrowani
Postów: 286
Pomógł: 0
Dołączył: 1.11.2003
Skąd: Poland, Płock

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


@Bakus --> Racja, ale uznałem że brakujące funkcję są includowane. A błędy w zapisie to fakt.

  1. <?php
  2. $baza = baza();
  3. ?>


Co to robi? Domyślam się że z bazą się łączy. Ale jak? $baza to obiekt czy wynik łączenia, czy co...

Lepiej podaj treść inc/funkcje.inc.php, Gość_kober
Go to the top of the page
+Quote Post
-Guest-
post
Post #6





Goście







to jest czesc pliku z funkjami ktory jest wykorzystywany przez to cos (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

  1. <?php
  2. //otwieranie poł&plusmn;czenia z baza
  3. function baza ()
  4. {
  5. $host_db=&#092;"localhost\"; // adres bazy
  6. $user_db=&#092;"sklep\";  // login do bazy
  7. $haslo_db=&#092;"*********\";  // haslo do bazy
  8.  
  9. $baza = mysql_connect ($host_db, $user_db, $haslo_db);
  10. mysql_select_db(&#092;"sklep\"); // nazwa bazy 
  11.  
  12. return $baza;
  13. }
  14.  
  15. function zapytanie ($zapytanie)
  16. {
  17. $pytanie = &#092;"$zapytanie\";
  18. $wynik_ = mysql_query($pytanie);
  19.  
  20. return $wynik_;
  21. }
  22. ?>
Go to the top of the page
+Quote Post
Luke
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 215
Pomógł: 0
Dołączył: 28.10.2003
Skąd: -

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


Jezeli Twoje dane z pliku do wrzucenia.txt odpowiadaja dokladnie strukturze tabeli w bazie danych to moglbys uzyc

Kod
LOAD DATA LOCAL INFILE 'dowrzucenia.txt' INTO TABLE twoja_tabela LINES TERMINATED BY '\r\n';


Gdzie poszczegolne wartosci sa oddzielone od siebie tabami.

Kod
TERMINATED BY '\r\n'
potrzebne jest jesli plik byl tworzony w srodowisku windows...
Go to the top of the page
+Quote Post
-Gość_kober-
post
Post #8





Goście







1. niestety nie sa tak jak proponujesz a zmiana zeby ta byly troche by zajely (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
2. sa wykorzystywane 2 tabele a wrzucajac tak jak proponujesz wrzucilbym jedynie do jednej a tabela cennik bylaby nie ruszona (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) wiec niestety ten pomysl odpada (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 25.08.2025 - 17:03