Update preturi magazin online. Modalitatea cea mai buna?

Întrebări legate de conectarea la baze de date MySQL prin intermediul PHP

Moderatori: Zamolxe, Moderatori

evolution
Average Member
Mesaje: 118
Membru din: Lun Noi 06, 2006 8:04 pm

Update preturi magazin online. Modalitatea cea mai buna?

Mesajde evolution » Vin Feb 18, 2011 10:55 pm

Am inceput sa imi fac un magazin online, voi pune multe produse. Adesea furnizorii modifica preturile si trebuie sa le modific si la mine pe site. Ei imi trimit un Excel cu cod produs si pret.

Ma gandeam ca in mySql,, pe langa tabela cu produse, sa fac o tabela separata pentru preturi (id | id_produs | pret).

Ce parere aveti, e ok asa?

Cu excelul primit de la furnizor, cu preturile noi, cum ma sfatuiti sa il updatez in baza de date? (mai simplu dpdv PHP)



iSeLast
Junior Member
Mesaje: 42
Membru din: Mar Mar 30, 2010 2:35 pm
Localitate: Rm. Valcea
Contact:

Mesajde iSeLast » Sâm Feb 19, 2011 1:37 am

nu e nevoie sa separi, campurile care depind de un id unic de obicei se includ intr-un singur tabel.
ai tabelul:
id, camp1, camp2, camp3, pret

si, ajutat de tabelul excel, vei cauta diferentele de preturi si modifici doar unde trebuie/ unde este alt pret.

dechim
Senior Member
Mesaje: 1486
Membru din: Mar Mai 10, 2005 11:53 pm
Localitate: Drobeta Turnu Severin

Mesajde dechim » Sâm Feb 19, 2011 3:17 pm

Eu zic ca e bine cu tabela separata.
As mai adauga doua campuri :
id
id_produs
pret
valid_from - data/ora de la care este valabil pretul
valid_to - data/ora pana cand a fost valabil pretul sau empty pentru pret valabil la data sistemului si in continuare pana la noi ordine de la furnizor

Cand primesti excelul cu preturile id_produs, pret, il salvezi text unicode,
va arata asa:

Cod: Selectaţi tot

11   100
20   200
31   20.5
41   30.6
51   125.5

Cod: Selectaţi tot

Il pui pe server si acesezi un script care :

* va citi din fisier sau il va citi pe tot (depinde cat e de mare) ;

* solicita data actualizarii sau o ia implicit pe cea a serverului;

* actualizeaza tabela preturi:

    - acolo unde pretul difera va completa campul
              valid_to = data/ora actualizari - 1ms
     si va insera o inregistrare in care va completa
               valid_from = data/ora actualizarii
(Intre valid_to din inreg precedenta si valid_from din cea curenta trebuie sa fie o diferenta astfel incat la un moment dat sa fie valid un singur pret.)

   - daca pretul nu se modifica, nu modifici nici tu nimic

In felul asta in caz de litigiu ai un istoric clar al pretului primit, poti face statistici de ex. volum vanzari - variatie preturi, etc.

Cand consideri ca tabela are prea multe inregistrari stergi sau faci un back-up pana la o anumita data.

evolution
Average Member
Mesaje: 118
Membru din: Lun Noi 06, 2006 8:04 pm

Mesajde evolution » Sâm Feb 19, 2011 4:36 pm

Multumesc pentru raspunsuri.

Ma gandesc sa fac o tabela in mysql preturi_trash , aici sa o golesc si sa urc fisierul excel cu preturile actualizate de la furnizor.

Apoi fac in admin o pagina .php care ruleaza un script si imi si afiseaza ce a facut. Fac un sql update where id_produs este identic cu id_produs_preturi_trash si pret_produs <> de pret_produs_preturi_trash.

Cat despre a tine un istoric cu data, asta prefer sa o fac ulterior, dar tinand cont de aceast update care ar putea interveni, se pare ca e mai utila o tabela separata pentru preturi (eventual si stocuri).


Înapoi la “MySQL”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 8 vizitatori