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
//jeżeli dane przesłane zostały dane o pacjentach
if(isset ($_POST['PACJENCI']) && !empty ($_POST['PACJENCI'])){ //zapisujemy dane
if ($_POST['PACJENCI']=="Zapisz")
{
$stm = oci_parse($conn, "insert into PACJENCI values (PACJENCI_seq.nextval, :IDPAC, :NAZWISKO, :IMIE, :MIEJSCOWOSC, :ULICA, :NR_DOMU, :WIEK, :PESEL, :UWAGI)");
oci_bind_by_name($stm, ":IMIE", $_POST['IMIE']);
oci_bind_by_name($stm, ":NAZWISKO", $_POST['NAZWISKO']);
oci_bind_by_name($stm, ":MIEJSCOWOSC", $_POST['MIEJSCOWOSC']);
oci_bind_by_name($stm, ":ULICA", $_POST['ULICA']);
oci_bind_by_name($stm, ":NR_DOMU", $_POST['NR_DOMU']);
oci_bind_by_name($stm, ":WIEK", $_POST['WIEK']);
oci_bind_by_name($stm, ":PESEL", $_POST['PESEL']);
oci_bind_by_name($stm, ":UWAGI", $_POST['UWAGI']);
oci_execute($stm);
}
//aktualizujemy
if ($_POST['PACJENCI']=="Modyfikuj")
{
$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");
oci_bind_by_name($stm, ":IDPAC", $_POST['IDPAC']);
oci_bind_by_name($stm, ":IMIE", $_POST['IMIE']);
oci_bind_by_name($stm, ":NAZWISKO", $_POST['NAZWISKO']);
oci_bind_by_name($stm, ":MIEJSCOWOSC", $_POST['MIEJSCOWOSC']);
oci_bind_by_name($stm, ":ULICA", $_POST['ULICA']);
oci_bind_by_name($stm, ":NR_DOMU", $_POST['NR_DOMU']);
oci_bind_by_name($stm, ":WIEK", $_POST['WIEK']);
oci_bind_by_name($stm, ":PESEL", $_POST['PESEL']);
oci_bind_by_name($stm, ":UWAGI", $_POST['UWAGI']);
oci_execute($stm);
}
}
');
//jeżeli zmeinna GET action nie jest pusta
if(isset ($_GET['action']) && !empty ($_GET['action'])) { //jezeli action == PACJENCI
if($_GET['action'] == "PACJENCI" ){
//usuwamy pracwonika w jest del w get
if(isset ($_GET['del']) && !empty ($_GET['del'])) { $stm = oci_parse($conn, "delete from PACJENCI where IDPAC=:ID");
oci_bind_by_name($stm, ":ID", $_GET['del']);
oci_execute($stm);
}
//wyswietalmy dane o racownikach
$stm = oci_parse($conn, 'select * from PACJENCI');
oci_execute($stm);
<p>
<center>
<h3><color=violet> Lista Dyrektorów w szkole<p></h3>
<table border=1>
<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>
');
//tabela pracowników
while ($row = oci_fetch_array($stm, OCI_ASSOC+OCI_RETURN_NULLS)) {
<td>'.$row['IDPAC'].'</td>
<td>'.$row['NAZWISKO'].'</td>
<td>'.$row['IMIE'].'</td>
<td>'.$row['PESEL'].'</td>
<td>'.$row['WIEK'].'</td>
<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>
<td><a href="index.php?action=PACJENCI&del='.$row['IDPAC'].'">Usuń</a></td>
<tr>');
}
</table>
<p>');
//formularz do dodawania pracowników
include("PACJENCI.php");
}
}
</div><div id="masterdiv">
<div class="menutitle"> <a href="index.php">Strona Główna</a></div>
<div class="menutitle"> <a href="index.php?action=PACJENCI">PACJENCI</a></div>
<div class="menutitle"> <a href="index.php?action=personel">Personel</a></div>
<div class="menutitle"> <a href="index.php?action=wizyty">Wizyty</a></div>
<div class="menutitle"> <a href="index.php?action=ateka">Apteka</a></div>
<div class="menutitle"> <a href="index.php?action=ICD_9">ICD 9</a></div>
<div class="menutitle"> <a href="index.php?action=ICD_10">ICD 10</a></div>
');
</div>
');
Fragment pacjenci.php
<?php
$val='Zapisz';
$NAZWISKO='';
$IMIE='';
$IDPAC='';
$MIEJSCOWOSC='';
$ULICA='';
$NR_DOMU='';
$WIEK='';
$PESEL='';
$UWAGI='';
//to coś pobiera z bazy w bazie są duże literki :)
$val='Modyfikuj';
$NAZWISKO=$_GET['n'];
$IMIE=$_GET['i'];
$IDPAC=$_GET['mod'];
$MIEJSCOWOSC=$_GET['m'];
$ULICA=$_GET['u'];
$NR_DOMU=$_GET['nr'];
$WIEK=$_GET['w'];
$PESEL=$_GET['p'];
$UWAGI=$_GET['uw'];
}
<div id="rejestracja">
<form action="index.php?action=pacjenci" method="post">
<fieldset><legend>Dane Pacjentów</legend>
<p>
<left>
<label>IMIE</label>
<input name="IMIE" type="text" size="20" value="'.$IMIE.'">
</p>
<p>
<label>NAZWISKO</label>
<input name="NAZWISKO" type="text" size="30" value="'.$NAZWISKO.'">
</p>
</p>
<p>
<label>MIEJSCOWOSC</label>
<input name="MIEJSCOWOSC" type="text" size="30" value="'.$MIEJSCOWOSC.'">
</p>
<p>
<label>ULICA</label>
<input name="ULICA" type="text" size="30" value="'.$ULICA.'">
</p>
<p>
<label>Numer domu</label>
<input name="NR_DOMU" type="text" size="30" value="'.$NR_DOMU.'">
</p>
<p>
<label>WIEK</label>
<input name="WIEK" type="number" size="2" value="'.$WIEK.'">
</p>
<p>
<label>PESEL</label>
<input name="PESEL" type="number" size="11" value="'.$PESEL.'">
</p>
<p>
<label>UWAGI</label>
<input name="UWAGI" type="text" size="50" value="'.$UWAGI.'">
</p>
<input name="IDPAC" type="hidden" value="'.$IDPAC.'">
<input type="submit" value="'.$val.'" name="'.$_GET['action'].'" >
<p>
</p>
<p>
</p>
<p>
</p> <p>
</p>
<p>
</p>
<p>
</p>
</form>
</div> ');
?>
-- tworzenie tabeli 'pacjenci'
CREATE TABLE pacjenci(
idpac Number PRIMARY KEY,
nazwisko varchar2(30) NOT NULL,
imie varchar2(20) NOT NULL,
miejscowosc varchar2(30) NOT NULL,
ulica varchar2(30) NOT NULL,
nr_domu varchar2(30) NOT NULL,
wiek number(2) NOT NULL,
pesel number(11) NOT NULL,
uwagi varchar2(500) NOT NULL
);
commit;
-- tworzenie sekwencji dla tabeli 'pacjenci'
CREATE sequence pacjenci
minvalue 0
maxvalue 10000
start WITH 1
increment BY 1;
commit;
Jest to projekt na "kampanię wrześniową" programistą nie będę więc koledzy wybaczcie mi książkowe błędy.
Dzięki