• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Update powiązanych tabel SQL PHP

0 głosów
66 wizyt
pytanie zadane 29 stycznia 2017 w PHP, Symfony, Zend przez Alterwar Mądrala (7,280 p.)

Witam,

pisze z zapewne prostym problemem, jednak siedzę już nad tym dłuższy czas i nie potrafię zrozumieć jak to ma działać.

Otóż posiadam takie zapytanie

try
    {

      $sqlEditInvoice = $pdo->prepare("UPDATE invoice, orders, company SET 
        invoice.nrFak = :a1,
        invoice.data1 = :a2,
        invoice.data2 = :a3,
        orders.zlecenieZDnia = :a4,
        orders.terminPlatnosci = :a5,
        orders.krajZaladunek = :a6,
        orders.krajRozladunek = :a7,
        orders.miejscowoscZaladunek = :a8,
        orders.miejscowoscRozladunek = :a9,
        orders.nrZlecenia = :a10,
        invoice.linkNbp = :a11,
        company.nazwaFirma = :a12,
        company.ulFirma = :a13,
        company.kodPoczFirma = :a14,
        company.miejscowoscFirma = :a15,
        company.krajFirma = :a16,
        company.nipFirma = :a17,
        invoice.formaPlatnosci = :a18,
        invoice.dzienPlatnosciFv = :a19
        WHERE invoice.id = ".$_POST['id_edit_fv'].";

        ");

robiąc update, wszystkie rekordy jakie mam w bazie są aktualizowane a nie ten wybrany 1. Rozumiem, że chodzi o to, że w WHERE podaje tylko invoice.id przypisane do id z przycisku, jednak nie wiem jak dodać jeszcze companny.id i orders.id tak, żeby aktualizowało jeden wybrany rekord. W tabeli invoice mam dodatkowe dwa pola: id_orders, id_company.

Edytując pola z invoice, dane się zapisują, edytując dane z company/orders wszystkie rekordy w bazie się aktualizują np. 30 nazw firm zmienia nazwę itd.

Czy ma ktoś jakiś pomysł?

komentarz 29 stycznia 2017 przez efiku Szeryf (75,000 p.)
Wszędzie bindujesz parametry z wyjątkiem "invoice.id", to jak to w końcu jest?
komentarz 29 stycznia 2017 przez Alterwar Mądrala (7,280 p.)
ok rozumiem, nie byłem pewny czy to też mam bindować

3 odpowiedzi

0 głosów
odpowiedź 29 stycznia 2017 przez Assasz Nałogowiec (28,290 p.)
wybrane 29 stycznia 2017 przez Alterwar
 
Najlepsza

Według tego zapytania zostają aktualizowane wszystkie rekordy z tabel orders i company, a z invoice tylko o wskazanym id. Jeśli te tabele są powiązane, to powinieneś także je powiązać w tym zapytaniu, czyli 

WHERE invoice.id_orders=orders.id_orders AND invoice.id_company=company.id_company

 

komentarz 29 stycznia 2017 przez Alterwar Mądrala (7,280 p.)
Trafiłeś dokładnie w to czego potrzebowałem, próbowałem w ten sposób ale źle łączyłem dane :) dzięki :)
+1 głos
odpowiedź 29 stycznia 2017 przez event15 Szeryf (94,750 p.)
Ogarnij Doctrine :)
komentarz 29 stycznia 2017 przez Alterwar Mądrala (7,280 p.)
Mógłbyś w skrócie zarzucić coś o tym doctrine?:) to jest framework?
0 głosów
odpowiedź 29 stycznia 2017 przez CzikaCarry Szeryf (75,440 p.)
"Rozumiem, że chodzi o to, że w WHERE podaje tylko invoice.id przypisane do id z przycisku, jednak nie wiem jak dodać jeszcze companny.id i orders.id tak, żeby aktualizowało jeden wybrany rekord" hmmm... Możesz użyć AND. "WHERE invoice.id = ".$_POST['id_edit_fv'] AND company.id = something AND orders.id = something.
komentarz 29 stycznia 2017 przez Alterwar Mądrala (7,280 p.)
Dzięki :)

Podobne pytania

0 głosów
1 odpowiedź 45 wizyt
0 głosów
2 odpowiedzi 70 wizyt
pytanie zadane 10 maja 2018 w PHP, Symfony, Zend przez Browarnik123 Użytkownik (840 p.)
0 głosów
1 odpowiedź 58 wizyt
pytanie zadane 18 listopada 2018 w PHP, Symfony, Zend przez marek90552 Początkujący (430 p.)
Porady nie od parady
Wynikowy wygląd pytania, odpowiedzi czy komentarza, różni się od tego zaprezentowanego w edytorze postów. Stosuj więc funkcję Podgląd posta znajdującą się pod edytorem, aby upewnić się, czy na pewno ostateczny rezultat ci odpowiada.Podgląd posta

62,398 zapytań

108,540 odpowiedzi

226,577 komentarzy

35,625 pasjonatów

Przeglądających: 151
Pasjonatów: 8 Gości: 143

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...