Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] Przydzielanie ID do do innej tabeli
matius71
post
Post #1





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 22.08.2009

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


Witam,

wpisuje w formularzu dane. Wysyłam je i w bazie wszystko ładnie się wpisuje, nadaje się ID itd. Słowem wszystko gra. Pomyślałem żeby przy okazji wypełniania formularza zapytać użytkownika o inne dane które będą wpisywane do innej tabeli. I teraz mam takie tabele:

1. Samochod
ID | Marka | Model | Nr. rejestracyjny | i inne

Wypełniam formularz, pojawia się nowy wpis i wskakuje ID. Tyle mam teraz i działa. Teraz zaczynają się schody (dla mnie)

Pomyślałem że dodam tabele Oleje w której jest lista dostępnych nazw i tabele łączącą ID samochodu z ID oleju (zakładam że samochód może jeździć na paru olejach)

2 Olej i tam
ID | nazwa a| nazwa b | nazwa c| itd

Teraz zrobiłem tabele:

3.Samochod Olej
ID | ID samochodu | ID Oleju

Teraz problem. Gdy zakładam profil samochodu czyli tabela pierwsza (to mam) i w tym samym momencie chce wpisać w tabele nr 3 ID samochodu którego w sumie jeszcze nie znam bo nie wysłałem formularza to jak to sprytnie zrobić żeby to samo ID samochodu trafiło do ID tabeli 3? biggrin.gif Bo z ID oleju z tabeli nr2 nie ma problemu bo ona istnieje i wystarczy odczytać ID. Myślałem już żeby najpierw tworzyć profil samochodu a dopiero później w jakimś innym formularzu pytać o rodzaj oleju bo wtedy bym znał już i wiedział jak odczytać ID samochodu.

A tu jest to co mam jeśli chodzi o przesyłanie do bazy do tabeli nr1

  1. if (!isset($error)) {
  2. try {
  3.  
  4. //insert into database with a prepared statement
  5. $stmt = $db->prepare('INSERT INTO samochod (Marka,Model,rejestracyjny,a,b,c,d) VALUES (:Marka,:Model,:rejestracyjny,:a,:b,:c,biggrin.gif)');
  6. $stmt->execute(array(
  7. ':Marka' => $Marka,
  8. ':Model' => $Model,
  9. ':rejestracyjny' => $rejestracyjny,
  10. ':a' => $a,
  11. ':b' => $b,
  12. ':c' => $c,
  13. 'biggrin.gif' => $d
  14.  
  15. ));
  16. $id = $db->lastInsertId('samochodID');
  17.  
  18. //redirect to index page
  19. header('Location: ....../........');
  20.  
  21. //else catch the exception and show the error.
  22. }
  23. catch (PDOException $e) {
  24. $error[] = $e->getMessage();
  25. }
  26.  
  27. }


Ten post edytował matius71 22.03.2018, 13:15:46
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 08:35