Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> UPDATE danych przez CSV i WHERE, Aktualizacja wybranych danych tabeli za pomocą pliku CSV
konkord
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 27.02.2013

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


Witam,
Żeby uprościć; przykładowo,
- mam bazę 'baza' ;] tabelę 'dane_produkty' i w niej kolumny (ID,produkt,cena,cena_pro,numer_kat)

- mam plik 'up.csv' i też kolumny (ID,produkt,cena,cena_pro,numer_kat) bez nazw , rozdzielane przez ';'

- cel: aktualizacja danych z kolumny (cena,cena_pro) gdzie (WHERE) numer_kat = numer_kat w pliku up.csv

Język PHP albo bezpośrednio SQL, bez znaczenia.

Mam nadzieję, że przejrzyście napisałem.
Ktoś pomoże? (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




Żeby uprościć, przykładowo:
w php masz funkcji do czytania pliku csv.
Czytasz ten plik, i linia po linii wykonujesz w php zapytanie mysql z update. PHP ma również i do tego funkcje - mysql_query()
Go to the top of the page
+Quote Post
viking
post
Post #3





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

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


http://stackoverflow.com/questions/1025360...column-in-table
Go to the top of the page
+Quote Post
konkord
post
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 27.02.2013

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


Cytat(viking @ 27.02.2013, 18:07:44 ) *


Znam wójka google i na tą stronę też już trafiłem ale tamto rozwiązanie nie nadaje się do mnie bez modyfikacji.
Nie wszystko rozumiem:
  1. CREATE TEMPORARY TABLE tymczasowa_tabela LIKE dane_produkty; --czyli tworzy tymczasowa tabele
  2.  
  3. LOAD DATA INFILE '/up.csv' --ładuje plik
  4. INTO TABLE tymczasowa_tabela
  5. FIELDS TERMINATED BY ';'
  6. (ID,produkt,cena,cena_pro,numer_kat); --chyba dodaje kolumny ktore sa w CSV
  7.  
  8. --dalej nie rozumiem co jest co i jak to zastosowac do mnie, w dodatku tu jest przyklad dla jednej kolumny a ja potrzebuje aktualizowac 'cena' i 'cena_pro' oraz porownac, znaczy WHERE 'numer_kat'
  9. UPDATE PRODUCTS P SET P.QUANTITY=(
  10. SELECT UPDATE_QUANTITY
  11. FROM UPDATE_TABLE
  12. WHERE UPDATE_PRODUCT=P.PRODUCT
  13. )
  14.  
  15. DROP TEMPORARY TABLE tymczasowa_tabela;


Ten post edytował konkord 27.02.2013, 22:35:34
Go to the top of the page
+Quote Post
viking
post
Post #5





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

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


  1. WHERE tymczasowa_tabela.numer_kat = dane_produkty.numer_kat

czy jakoś tak. Update to podstawy sql, pomyśl trochę co chcesz zmienić zamiast bez sensu przepisywać chociaż nawet takich pól w bazie nie masz.
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: 22.12.2025 - 12:13