Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie wysyła danych do bazy PL/SQL
Forum PHP.pl > Forum > PHP
mertin
Witam mam problem, moja stronka nie wysyła danych do bazy, odczyt działa, edycja zmian działa i usuwanie działa.
Myślę, że mam coś z bazą, bo pokazuje się komunikat, że nie mam wypełnionych wszystkich pól, prawdopodobnie chodzi o pole ID które nie wpisuje się automatycznie, podobnie jak wpisuje dane z linii komend bazy, tak samo muszę wpisać ID.

Więc muszę zrobić to tak:
Ustawić automatyczne nadawanie ID ale nie wiem jak to zrobic
lub dodać ple ID do formularza.

Fragment index.php

  1. //jeżeli dane przesłane zostały dane o pacjentach
  2. if(isset ($_POST['PACJENCI']) && !empty ($_POST['PACJENCI'])){
  3. //zapisujemy dane
  4. if ($_POST['PACJENCI']=="Zapisz")
  5. {
  6. $stm = oci_parse($conn, "insert into PACJENCI values (PACJENCI_seq.nextval, :IDPAC, :NAZWISKO, :IMIE, :MIEJSCOWOSC, :ULICA, :NR_DOMU, :WIEK, :PESEL, :UWAGI)");
  7. oci_bind_by_name($stm, ":IMIE", $_POST['IMIE']);
  8. oci_bind_by_name($stm, ":NAZWISKO", $_POST['NAZWISKO']);
  9. oci_bind_by_name($stm, ":MIEJSCOWOSC", $_POST['MIEJSCOWOSC']);
  10. oci_bind_by_name($stm, ":ULICA", $_POST['ULICA']);
  11. oci_bind_by_name($stm, ":NR_DOMU", $_POST['NR_DOMU']);
  12. oci_bind_by_name($stm, ":WIEK", $_POST['WIEK']);
  13. oci_bind_by_name($stm, ":PESEL", $_POST['PESEL']);
  14. oci_bind_by_name($stm, ":UWAGI", $_POST['UWAGI']);
  15. oci_execute($stm);
  16.  
  17.  
  18. }
  19.  
  20.  
  21. //aktualizujemy
  22. if ($_POST['PACJENCI']=="Modyfikuj")
  23. {
  24. $stm = oci_parse($conn, "update PACJENCI set NAZWISKO=:NAZWISKO, IMIE=:IMIE, MIEJSCOWOSC=:MIEJSCOWOSC, ULICA=:ULICA, NR_DOMU=:NR_DOMU, WIEK=:WIEK, PESEL=:PESEL, UWAGI=:UWAGI where IDPAC=:IDPAC");
  25. oci_bind_by_name($stm, ":IDPAC", $_POST['IDPAC']);
  26. oci_bind_by_name($stm, ":IMIE", $_POST['IMIE']);
  27. oci_bind_by_name($stm, ":NAZWISKO", $_POST['NAZWISKO']);
  28. oci_bind_by_name($stm, ":MIEJSCOWOSC", $_POST['MIEJSCOWOSC']);
  29. oci_bind_by_name($stm, ":ULICA", $_POST['ULICA']);
  30. oci_bind_by_name($stm, ":NR_DOMU", $_POST['NR_DOMU']);
  31. oci_bind_by_name($stm, ":WIEK", $_POST['WIEK']);
  32. oci_bind_by_name($stm, ":PESEL", $_POST['PESEL']);
  33. oci_bind_by_name($stm, ":UWAGI", $_POST['UWAGI']);
  34. oci_execute($stm);
  35.  
  36. }
  37. }
  38.  
  39. print('<div id="opis">
  40.  
  41. ');
  42.  
  43. //jeżeli zmeinna GET action nie jest pusta
  44. if(isset ($_GET['action']) && !empty ($_GET['action'])) {
  45. //jezeli action == PACJENCI
  46. if($_GET['action'] == "PACJENCI" ){
  47. //usuwamy pracwonika w jest del w get
  48. if(isset ($_GET['del']) && !empty ($_GET['del'])) {
  49. $stm = oci_parse($conn, "delete from PACJENCI where IDPAC=:ID");
  50. oci_bind_by_name($stm, ":ID", $_GET['del']);
  51. oci_execute($stm);
  52. }
  53. //wyswietalmy dane o racownikach
  54. $stm = oci_parse($conn, 'select * from PACJENCI');
  55. oci_execute($stm);
  56. <p>
  57. <center>
  58. <h3><color=violet> Lista Dyrektorów w szkole<p></h3>
  59. <table border=1>
  60. <tr><td><b>Id</td><td><b>NAZWISKO</td><td><b>IMIE</td><td><b>PESEL</td><td><b>WIEK</td><td>Modyfikacja</td><td>Usuwanie</td>
  61. ');
  62. //tabela pracowników
  63. while ($row = oci_fetch_array($stm, OCI_ASSOC+OCI_RETURN_NULLS)) {
  64. print('<left><tr>
  65. <td>'.$row['IDPAC'].'</td>
  66. <td>'.$row['NAZWISKO'].'</td>
  67. <td>'.$row['IMIE'].'</td>
  68. <td>'.$row['PESEL'].'</td>
  69. <td>'.$row['WIEK'].'</td>
  70. <td><a href="index.php?action=PACJENCI&mod='.$row['IDPAC'].'&n='.$row['NAZWISKO'].'&i='.$row['IMIE'].'&m='.$row['MIEJSCOWOSC'].'&u='.$row['ULICA'].'&nr='.$row['NR_DOMU'].'&w='.$row['WIEK'].'&p='.$row['PESEL'].'&uw='.$row['UWAGI'].'">Zmien</a></td>
  71.  
  72. <td><a href="index.php?action=PACJENCI&del='.$row['IDPAC'].'">Usuń</a></td>
  73. <tr>');
  74. }
  75. </table>
  76. <p>');
  77. //formularz do dodawania pracowników
  78. include("PACJENCI.php");
  79. }
  80.  
  81. }
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88. </div><div id="masterdiv">
  89. <div class="menutitle"> <a href="index.php">Strona Główna</a></div>
  90. <div class="menutitle"> <a href="index.php?action=PACJENCI">PACJENCI</a></div>
  91. <div class="menutitle"> <a href="index.php?action=personel">Personel</a></div>
  92. <div class="menutitle"> <a href="index.php?action=wizyty">Wizyty</a></div>
  93. <div class="menutitle"> <a href="index.php?action=ateka">Apteka</a></div>
  94. <div class="menutitle"> <a href="index.php?action=ICD_9">ICD 9</a></div>
  95. <div class="menutitle"> <a href="index.php?action=ICD_10">ICD 10</a></div>
  96. ');
  97.  
  98. print('
  99. </div>
  100. ');




Fragment pacjenci.php

  1. <?php
  2. $val='Zapisz';
  3. $NAZWISKO='';
  4. $IMIE='';
  5. $IDPAC='';
  6. $MIEJSCOWOSC='';
  7. $ULICA='';
  8. $NR_DOMU='';
  9. $WIEK='';
  10. $PESEL='';
  11. $UWAGI='';
  12. //to coś pobiera z bazy w bazie są duże literki :)
  13. if(isset($_GET['mod'])){
  14. $val='Modyfikuj';
  15. $NAZWISKO=$_GET['n'];
  16. $IMIE=$_GET['i'];
  17. $IDPAC=$_GET['mod'];
  18. $MIEJSCOWOSC=$_GET['m'];
  19. $ULICA=$_GET['u'];
  20. $NR_DOMU=$_GET['nr'];
  21. $WIEK=$_GET['w'];
  22. $PESEL=$_GET['p'];
  23. $UWAGI=$_GET['uw'];
  24. }
  25. <div id="rejestracja">
  26.  
  27.  
  28. <form action="index.php?action=pacjenci" method="post">
  29. <fieldset><legend>Dane Pacjentów</legend>
  30.  
  31.  
  32. <p>
  33. <left>
  34. <label>IMIE</label>
  35. <input name="IMIE" type="text" size="20" value="'.$IMIE.'">
  36.  
  37. </p>
  38. <p>
  39. <label>NAZWISKO</label>
  40. <input name="NAZWISKO" type="text" size="30" value="'.$NAZWISKO.'">
  41. </p>
  42.  
  43. </p>
  44. <p>
  45. <label>MIEJSCOWOSC</label>
  46. <input name="MIEJSCOWOSC" type="text" size="30" value="'.$MIEJSCOWOSC.'">
  47. </p>
  48.  
  49.  
  50. <p>
  51. <label>ULICA</label>
  52. <input name="ULICA" type="text" size="30" value="'.$ULICA.'">
  53. </p>
  54.  
  55. <p>
  56. <label>Numer domu</label>
  57. <input name="NR_DOMU" type="text" size="30" value="'.$NR_DOMU.'">
  58. </p>
  59.  
  60. <p>
  61. <label>WIEK</label>
  62. <input name="WIEK" type="number" size="2" value="'.$WIEK.'">
  63. </p>
  64.  
  65. <p>
  66. <label>PESEL</label>
  67. <input name="PESEL" type="number" size="11" value="'.$PESEL.'">
  68. </p>
  69. <p>
  70. <label>UWAGI</label>
  71. <input name="UWAGI" type="text" size="50" value="'.$UWAGI.'">
  72. </p>
  73.  
  74. <input name="IDPAC" type="hidden" value="'.$IDPAC.'">
  75. <input type="submit" value="'.$val.'" name="'.$_GET['action'].'" >
  76. <p>
  77. </p>
  78. <p>
  79. </p>
  80. <p>
  81. </p> <p>
  82. </p>
  83. <p>
  84. </p>
  85. <p>
  86. </p>
  87.  
  88.  
  89. </form>
  90. </div> ');
  91. ?>


  1. -- tworzenie tabeli 'pacjenci'
  2. CREATE TABLE pacjenci(
  3. idpac Number PRIMARY KEY,
  4. nazwisko varchar2(30) NOT NULL,
  5. imie varchar2(20) NOT NULL,
  6. miejscowosc varchar2(30) NOT NULL,
  7. ulica varchar2(30) NOT NULL,
  8. nr_domu varchar2(30) NOT NULL,
  9. wiek number(2) NOT NULL,
  10. pesel number(11) NOT NULL,
  11. uwagi varchar2(500) NOT NULL
  12. );
  13. commit;
  14. -- tworzenie sekwencji dla tabeli 'pacjenci'
  15. CREATE sequence pacjenci
  16. minvalue 0
  17. maxvalue 10000
  18. start WITH 1
  19. increment BY 1;
  20. commit;



Jest to projekt na "kampanię wrześniową" programistą nie będę więc koledzy wybaczcie mi książkowe błędy.

Dzięki
wizu
Podpowiem Ci troszkę, tą Twoją "sequence pacjenci" dobrze by było jeszcze podpiąć to tabeli, najlepiej przez trigger BEFORE INSERT.
mertin
Właśnie się tego doczytałem ale pojawiają się błędy, a przez kreatora nie wiem co wpisać w BODY

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.