Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Aktualizacja danych
-ANTUAN-
post
Post #1





Goście







Mam taki nietypowy problem mianowicie mam dwie tabele:

1 tabela products

w niej kolumny załóżmy:
ID|model_produktu|

2 tabela
products_detale

w niej kolumny:
ID|waga|kolor|


I teraz mam dane w excel w postaci kolumn |model_produktu|waga|kolor| Jednak tych modeli produktów jest załóżmy 100 a ja mam w sklepie tylko 50 które mnie interesują.

I teraz moje pytanie jak zaktualizować drugą tabelę znając tylko model_produktu?? Bo ręcznie to bez sensu szukać które produkty mnie interesują i przypasowywać w excelu model_produktu do ID.

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
skleps
post
Post #2





Grupa: Zarejestrowani
Postów: 142
Pomógł: 9
Dołączył: 3.03.2011

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


Algorytm na szybko:

1. Zamień plik XLS na CSV
2. Zaczytaj plik CSV
3. Lecisz po pliku CSV wiersz po wierszu, sprawdzasz selectem czy dany wiersz "jest w bazie"
4. Jeśli dany wiersz "jest" w bazie i są różnice między CSV a bazą, to za pomocą UPDATE uaktualniasz bazę.
Go to the top of the page
+Quote Post
-ANTUAN-
post
Post #3





Goście







Kurde nie ogarniam tego...

Czyli co musiałbym stworzyć zapytanie złóżmy
czy w tabeli 'products'.'products_model' istnieje załóżmy produkt X jeśli tak to UPDATE drugą tabele 'products_detale'.'waga' i 'products_detale'.'kolor'

Tylko na jakiej podstawie jeśli nie znam ID co jest częścią wspólną dla tych dwóch tabel?(IMG:style_emoticons/default/questionmark.gif)

Jakby ktoś podał jakiś przykład byłbym wdzięczny... Albo jak powinno wyglądać takie zapytanie do bazy by uaktualnić drugą tabelę znając tylko nazwe produktu w pierwszej tabeli.
Go to the top of the page
+Quote Post
skleps
post
Post #4





Grupa: Zarejestrowani
Postów: 142
Pomógł: 9
Dołączył: 3.03.2011

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


Cytat(ANTUAN @ 7.01.2013, 22:30:53 ) *
Kurde nie ogarniam tego...

Czyli co musiałbym stworzyć zapytanie złóżmy
czy w tabeli 'products'.'products_model' istnieje załóżmy produkt X jeśli tak to UPDATE drugą tabele 'products_detale'.'waga' i 'products_detale'.'kolor'

Tylko na jakiej podstawie jeśli nie znam ID co jest częścią wspólną dla tych dwóch tabel?(IMG:style_emoticons/default/questionmark.gif)

Jakby ktoś podał jakiś przykład byłbym wdzięczny... Albo jak powinno wyglądać takie zapytanie do bazy by uaktualnić drugą tabelę znając tylko nazwe produktu w pierwszej tabeli.


Na szybko wiec mogą być błędy:

SELECT ID FROM products WHERE model_produktu = "model_produktu_z_pliku_csv"

Jeżeli zwrócone ID będzie większe od 0, to znaczy że masz w bazie produkt który właśnie obrabiasz w csv, więc możesz go uaktualnić:

UPDATE products_detale SET waga="waga_z_csv", kolor = "kolor_z_csv" WHERE ID = ID_Uzyskane_Z_Selecta

Taka metoda spowoduje że zawsze będzie ci się uaktualnioało czy potrzebe czy nie.

Możesz robić sprawdzenie od razu cwańszą metodą i od razu wyciągać z bazy cechy dla danego ID:

SELECT * FROM products p LEFT JOIN products_detale pd ON (p.ID = pd.ID) WHERE p.model_produktu = "model_produktu_z_pliku_csv"

Ten post edytował skleps 8.01.2013, 16:36:55
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: 7.10.2025 - 07:14