Stworzyłem sobie wewnętrzny skrypcik to wpisywania statystyk. Chciałem jakoś go zabezpieczyć przed możliwością wpisywania dwóch takich samych rekordów. Tablica do wpisywania wygląda następująco:
CREATE TABLE `statystyka` ( `ID_STAT` MEDIUMINT(9) NOT NULL AUTO_INCREMENT, `ID_LEK` VARCHAR(5) NOT NULL COLLATE 'utf8_polish_ci', `DATA` DATE NOT NULL, `09_00` TINYINT(3) UNSIGNED NULL DEFAULT NULL, `10_00` TINYINT(3) UNSIGNED NULL DEFAULT NULL, `11_00` TINYINT(3) UNSIGNED NULL DEFAULT NULL, `12_00` TINYINT(3) UNSIGNED NULL DEFAULT NULL, `13_00` TINYINT(3) UNSIGNED NULL DEFAULT NULL, `14_00` TINYINT(3) UNSIGNED NULL DEFAULT NULL, `15_00` TINYINT(3) UNSIGNED NULL DEFAULT NULL, `16_00` TINYINT(3) UNSIGNED NULL DEFAULT NULL, `17_00` TINYINT(3) UNSIGNED NULL DEFAULT NULL, `18_00` TINYINT(3) UNSIGNED NULL DEFAULT NULL, `19_00` TINYINT(3) UNSIGNED NULL DEFAULT NULL, `20_00` TINYINT(3) UNSIGNED NULL DEFAULT NULL, PRIMARY KEY (`ID_STAT`), UNIQUE INDEX `ID_STAT` (`ID_STAT`), INDEX `ID_LEK` (`ID_LEK`), CONSTRAINT `LEK` FOREIGN KEY (`ID_LEK`) REFERENCES `lekarze_old` (`ID_LEK`) ) COLLATE='utf8_polish_ci' ENGINE=InnoDB ROW_FORMAT=DEFAULT AUTO_INCREMENT=0
No właśnie. Jak, że jest to tabela zliczająca statystykę chciałbym, ze nie było możliwości powtarzania pól ID_LEK i data w jednym rekordzie. Żyby tego uniknąć po wprowadzeniu formularza wymyśliłem coś takiego:
<?php include('connect2.php'); //sprawdzanie czy pola są w ogóle wypełnione //ustawienie zmiennej co do sprawdzania czy taki rekord już się znalazł w bazie $sql2= "select concat(id_lek,data) as stat from statystyka"; $rez2= mysqli_query($mysqli, $sql2); while ($nowaTab=mysqli_fetch_array($rez2, MYSQLI_ASSOC)) { $zmienna=$nowaTab['stat']; } if(($zmienna)==(($_GET['lek']).($_GET['termin']))){ } //echo (($_GET['lek']).($_GET['termin'])); //insert do bazy ?>
Kiedy wpisuję
pokazuje mi tylko i wyłącznie informację o ostatnim rekordzie dodanym do bazy - a to mnie kompletnie nie satysfakcjonuje. Chodzi o to, żeby sprawdził całą tabelę czy takiej pary wpisów już nie ma. Co powiniem uzyć w tym przypadku.
Z góry dzięki za pomoc