Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zamian danych w tabeli między dwoma rekordami
fbi
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 6.10.2009

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


Witam,

Otóż mam tabelę kursy która zawiera pola id, id_kierowcy, trasa, data, godzina, uwagi ; (pole id_kierowcy jest UNIQUE - czyli nie możne się powtarzać ). W tabeli przykładowo są:

| ID | ID_KIEROWCY |TRASA | DATA | GODZINA | UWAGI |
---------------------------------------------------------------------
| 1 | 23 |EŁK | 23.04| 14:00 | |
---------------------------------------------------------------------
| 2 | 12 |POZNAN |12.05 | 12:30 | |
---------------------------------------------------------------------

Jak prostym zapytaniem wykonać wymianę kierowców, aby kierowca id 23 miał trasę 2 , a drugi trasę 1 , zaznaczam ze pole id_kierowcy jest UNIQUE

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
fbi
post
Post #2





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 6.10.2009

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


Witam, ponownie - nadal walczę z tym zapytaniem , wiem ze temat bardziej już z PHP,
Poniższe zapytanie działa niepoprawnie , zamienia zmienne tylko na minusowe id (- ) , nie wiem czy dodatkowo trzeba dodać zmienne z minusami ?

  1. $zamien = " START TRANSACTION";
  2. $statement = $dbh->prepare($zamien);
  3. $statement->execute();
  4. $zamien = "UPDATE planowanie_export
  5. SET id_kierowcy=
  6. CASE
  7. WHEN id_kierowcy= :nowy_kierowca THEN -:stary_kierowca
  8. WHEN id_kierowcy= :stary_kierowca THEN -:nowy_kierowca
  9. END
  10. WHERE id_kierowcy IN (:nowy_kierowca,:stary_kierowca)";
  11. $statement = $dbh->prepare($zamien);
  12. $statement->execute(
  13. ':nowy_kierowca' => $_POST["nowy_kierowca"],
  14. ':stary_kierowca' => $_POST["stary_kierowca"]
  15. )
  16. );
  17. $zamien = "UPDATE planowanie_export
  18. SET id_kierowcy= - id_kierowcy
  19. WHERE id_kierowcy IN (-nowy_kierowca,-:stary_kierowca)";
  20. $statement = $dbh->prepare($zamien);
  21. $statement->execute(
  22. ':nowy_kierowca' => $_POST["nowy_kierowca"],
  23. ':stary_kierowca' => $_POST["stary_kierowca"]
  24. )
  25. );
  26. $zamien = "COMMIT";
  27. $statement = $dbh->prepare($zamien);
  28. $statement->execute();



Przepraszam w Lini 20 pominąłem ":" - Po uzupełnieniu działa (IMG:style_emoticons/default/smile.gif)

Ten post edytował fbi 20.04.2018, 20:39:01
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.12.2025 - 15:18