Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]Dodawanie rekordów i łączenie dwóch tabel
lukaszm89
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 17.12.2012

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


Witam, jestem początkujący w dziedzinie php i mysql. Problem mam następujacy: mam dwie tabele (Klient i Naprawa). Potrzebuję zrobić dodawanie rekordów do Naprawy, najlepiej żeby z listy rozwijanej można było wybrać Nazwisko klienta (znajdujące się w tabeli klient) i podać pozostałe dane (znajdujące się w tabeli naprawa, np data_dostarczenia, data_odbioru, itp.). W tabeli klient klucz główny IDKlient, a w tabeli naprawa klucz obcy Klient_IDKlient. Czy jest taka możliwość (zapewne jest) i jak to zrobić? Poniżej kod który wykombinowałem ale nie może działać bo jest niekompletny... Podejrzewam że wystarczy skleic odpowiedni kod sql, żeby dobrze dodało, ale nie jestem pewien (IMG:style_emoticons/default/closedeyes.gif)

  1.  
  2. <br/> Dodawanie naprawy:<br/><br/>
  3.  
  4. <?php
  5. $zapytanie = mysql_query ("SELECT * FROM Klient ORDER BY Nazwisko ASC");
  6. echo '<select name="Nazwisko">';
  7. echo '<option value="">Wybierz Klienta</option>';
  8. while($option = mysql_fetch_assoc($zapytanie)) {
  9. echo '<option value="'.$option['Nazwisko'].'">'.$option['Nazwisko'].'</option>';
  10. }
  11. echo '</select>';
  12. ?>
  13.  
  14. <form action="dodaj_naprawe.php" method="post">
  15. Data dostarczenia:<br />
  16. <input type="text" name="Data_dostarczenia" /><br />
  17. Data odbioru:<br />
  18. <input type="text" name="Data_odbioru" /><br />
  19. Opis usterki:<br />
  20. <input type="text" name="Opis_usterki" /><br />
  21. Opis naprawy:<br />
  22. <input type="text" name="Opis_naprawy" /><br />
  23. Koszt czesci:<br />
  24. <input type="text" name="Koszt_czesci" /><br />
  25. Koszt uslugi:<br />
  26. <input type="text" name="Koszt_uslugi" /><br />
  27.  
  28. <input type="submit" value="dodaj" />
  29. </form>
  30.  
  31. <?php
  32. // odbieramy dane z formularza
  33. $Data_dostarczenia = $_POST['Data_dostarczenia'];
  34. $Data_odbioru = $_POST['Data_odbioru'];
  35. $Opis_usterki = $_POST['Opis_usterki'];
  36. $Opis_naprawy = $_POST['Opis_naprawy'];
  37. $Koszt_czesci = $_POST['Koszt_czesci'];
  38. $Koszt_uslugi = $_POST['Koszt_uslugi'];
  39.  
  40. if($Data_dostarczenia and $Data_odbioru and $Opis_usterki and $Opis_naprawy and $Koszt_czesci and $Koszt_uslugi ) {
  41.  
  42. // dodajemy rekord do bazy
  43. $ins = @mysql_query("INSERT INTO Naprawa SET Data_dostarczenia='$Data_dostarczenia', Data_odbioru='$Data_odbioru', Opis_usterki='$Opis_usterki', Opis_naprawy='$Opis_naprawy', Koszt_czesci='$Koszt_czesci', Koszt_uslugi='$Koszt_uslugi'");
  44.  
  45. if($ins) echo "Rekord został dodany poprawnie";
  46. else echo "Błąd nie udało się dodać nowego rekordu";
  47.  
  48. }
  49.  
  50. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Michael2318
post
Post #2





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

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


http://www.tizag.com/mysqlTutorial/mysqlleftjoin.php

W zapytaniu połącz te tabele sobie za pomocą left join, łącząc je po ID.
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: 10.10.2025 - 22:57