Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: UPDATE danych przez CSV i WHERE
Forum PHP.pl > Forum > Bazy danych > MySQL
konkord
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? smile.gif
nospor
Ż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()
konkord
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;
viking
  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.
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.