Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Jak powiązać dane między tabelami?
Forum PHP.pl > Forum > Przedszkole
ZaqU
Witam,
Mam w bazie danych dwie tabele:

Produkty:
ID_PRODUKTU | NAZWA | CENA_JEDNOSTKOWA

Zamówienia:
ID_ZAMÓWIENIA | ID_PRODUKTU | ILOŚĆ | CENA_CAŁKOWITA

Czy jest możliwe, aby podczas dodawania rekordu do Zamówień uzupełnić z poziomu MySQL cenę całkowitą (iloczyn ilości i ceny jednostkowej produktu)? Aby to zrobić musiałbym pobrać w jednym zapytaniu do bazy (INSERT) cenę jednostkową produktu o określonym ID, ale kompletnie nie mam pojęcia jak to zrobić... Macie jakieś pomysły? wink.gif
404
Nie możesz najpierw pobrać danych produktu (SELECT), a potem zrobić INSERT?
  1. $product = $products->getById($_POST['ID_PRODUKTU']);
  2. //...
  3. $order['CENA_CAŁKOWITA'] = $product['CENA_JEDNOSTKOWA'] * $_POST['ILOŚĆ'];
  4. //...
  5. $orders->insert($order);
ZaqU
To też jest opcja, ale wolałbym zrobić to w jednym zapytaniu aby było szybciej. Jest to w ogóle możliwe w MySQL?
widmo_91
  1. INSERT INTO zamowienia (id_produktu, ilosc, cena_calkowita)
  2. SELECT $id_produktu, $ilosc, $ilosc * cena_jednostkowa
  3. FROM produkty WHERE id_produktu = $id_produktu
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.