Piszę prosty skrypt rejestracji i wprowadzania wyników badań.

Podam przykładowe tabele jakie utworzyłem:

  1. CREATE TABLE `pacjent` (
  2. `id_pac` int(11) NOT NULL AUTO_INCREMENT,
  3. `imie` varchar (20) NOT NULL,
  4. `nazwisko` varchar(30) NOT NULL,
  5. `pesel` char(11) NOT NULL,
  6. `data_urodz` varchar(10) NOT NULL,
  7. `plec` varchar (1) NOT NULL,
  8. `miejscowosc` varchar (25) NOT NULL,
  9. `kod` varchar(6) NOT NULL,
  10. `ulica` varchar(25) NOT NULL,
  11. PRIMARY KEY (`id_pac`)
  12. ) ENGINE=MyISAM
  13.  
  14. CREATE TABLE `rejestr` (
  15. `id_rej` int(11) NOT NULL,
  16. `id_pac` int(11) NOT NULL,
  17. `id_kon` int(11) NOT NULL,
  18. `id_mat` int(11) NOT NULL,
  19. `data` date NOT NULL,
  20. `lekarz` varchar (40) NOT NULL,
  21. PRIMARY KEY (`id_rej`),
  22. KEY (`id_pac`),
  23. KEY (`id_kon`),
  24. KEY (`id_mat`)
  25. ) ENGINE=MyISAM
  26.  
  27. CREATE TABLE `badania` (
  28. `id_mat` int(11) NOT NULL AUTO_INCREMENT,
  29. `kod_bad` varchar (10) NOT NULL,
  30. `nazwa` varchar (25) NOT NULL,
  31. `material` varchar (15) NOT NULL,
  32. `cena` decimal (6, 2) NOT NULL,
  33. PRIMARY KEY (`id_mat`)
  34. ) ENGINE=MyISAM
  35.  
  36. CREATE TABLE `wyniki` (
  37. `id_rej` int(11) NOT NULL,
  38. `id_mat` varchar (10) NOT NULL,
  39. `wynik` varchar (15) NOT NULL,
  40. PRIMARY KEY (`?`)
  41. ) ENGINE=MyISAM
  42.  

Nie wiem czy w tabeli wyniki prawidłowo dałem pola i które pole ma być kluczem ? Jak to powiązać z tabelą rejestr ?

Założenie moje jest takie, że wybieram pacjenta z listy, klikam na niego i przechodzę do formularza rejestracji. Tam wpisuje różne dane jak data rejestracji, numer rejestru i badania jakie mu należy zrobić itd. W tym formularzu rejestracji są pola checkbox. Ich ilość jest zmienna w zależności ile jest pozycji w tabeli badania. Wyświetlam je wszystkie tym sposobem:

  1. $result = mysql_query("SELECT * FROM badania");
  2. while ($row=mysql_fetch_assoc($result))
  3. {
  4. echo '<input type="checkbox" name=nazwa[] value='.$row["id_mat"].'</input>'.$row["nazwa"].'<br>';
  5. }


A do bazy probuję dodać zaznaczone pozycje tym sposobem.
  1. require('config.php');
  2. ...
  3. $id_pac = intval($_POST['id_pac']);
  4. $id_mat = mysql_real_escape_string($_POST['id_mat']);
  5. $nazwa = mysql_real_escape_string($_POST['nazwa']);
  6.  
  7. $query = "INSERT INTO `rejestr` (`id_pac`, `id_rej`, `data`, `id_kon`, `lekarz`, `id_mat`) VALUES ('$id_pac', '$id_rej', '$data', '$id_kon', '$lekarz', '$id_mat')";


Tylko nie wiem czy to prawidłowo ?. Chciałbym zaznaczone pozycje dodać do tabeli rejestr. Nie wiem też jak wyświetlić aby to sprawdzić np. Jan Kowalski ma następujące badania do wykonania: 1,3,4,6 z inputem type="text" bo pożniej trzeba wyniki wpisać itd

Jak to dobrze zrobić aby działało ?

Nikt mi nie pomoże ?