tfzr.rstfzr.rs/content/files/0/srdjan bozic.docx · web viewza filter je koriscen java script, a...
Post on 06-Feb-2021
0 Views
Preview:
TRANSCRIPT
Univerzitet u Novom Sadu Tehnički fakultet »MihajloPupin« Zrenjanin
SEMINARSKI RAD
Predmet: Informacioni Sistemi 2
Tema: Prijava takmicara na sahovski turnir
Tehničkog fakulteta „Mihajlo Pupin“ Zrenjanin
Profesor :Student:
Biljana RadulovicSrdjan Bozic IT 33/14
Asistent:
Zoltan Kazi
Zrenjanin, 2018. godina
Opis problema:
Problem koji se resava u ovom seminarskom radu je prijava takmicara na sahovski turnir od strane sahovskog saveza. U ovoj prijavi takmicara veoma je bitno navesti imena i prezimena takmicara, njihove, klubove kao i mesta odakle takmicari dolaze. Takodje je bitna i mogucnost pretrage i izmene takmicara i njihovo brisanje kao i stampa spiska svih takmicara. Pored unosenja takmicara u program, potrebno je da imamo i unos takmicenja na kojem takmicari ucestvuju.
Opis primenejene tehnologije:
Ovaj seminarski radjen je pomocu XAMPP CONTROL PANEL-a na localhostu. Baza seminarskog rada radjena je u MYSQL-u. Za filter je koriscen Java Script, a ostatak koda je kucan u PHP-u, HTML-u i CSS-u.
Korisnicko uputstvo:
1. Pocetna stranica programa
2. Unos podataka:
Poto se mesto nalazi kao strani kljuc u klasama takmicar i takmicenje, potrebno je prvo uneti mesta gde se odrzavaju takmicenja i mesta iz kojih dolaze takmicari.
Nakon sto korisnik unese mesto, potrebno je da unese takmicare koji ucestvuju na takmicenju i koji se opisuju imenom, prezimenom, klubom, datumom rodjenja, mestom odakle dolaze, kao i adresom.
Svako takmicenje karakterise se nazivom, mestom i takmicarima koji se na njemu takmice.
Da bi korisnik mogao lakse da pronadje takmicare ili takmicenja koja je uneo, napravljena je opcija pretraga u kojoj korisnik pomocu bilo kog parametra moze lakse da pronadje sve sto trazi.
Korisnik moze u pretrazi takmicara da izmeni ili obrise takmicara.
Korisnik ima mogucnost da istampa spisak svih takmicara koje je uneo pomocu opcije STAMPA TAKMICARA
Klase:
1.Konekcija
<?php
class Konekcija{
public $konekcijaMYSQL;
private $konekcijaDB;
private $nazivbaze;
public function __construct(){
}
public function disconnect(){
mysqli_close($this->konekcijaMYSQL);
}
public function connect(){
$xml= simplexml_load_file("xmlkonekcije.xml") or die("Error: Cannot create object");
$host = $xml->host;
$korisnik = $xml->korisnik;
$sifra = $xml->sifra;
$this->nazivbaze = $xml->nazivbaze;
$this->konekcijaMYSQL = mysqli_connect($host, $korisnik, $sifra,$this->nazivbaze);
if ($this->konekcijaDB) {
mysqli_query('SET NAMES "utf8"',$this->konekcijaMYSQL);
}
}
}
2.Takmicar
<?php
class Takmicar extends Konekcija{
public function upisi($upit){
$this->connect();
$this->konekcijaMYSQL;
$sql_upit = $upit;
$result = mysqli_query($this->konekcijaMYSQL,$sql_upit) or die(mysqli_error($this->konekcijaMYSQL));
if($result){
echo "
Uspesno upisano!
";
$this->disconnect();
}else{
echo "
Nije upisano!
";
$this->disconnect();
}
}
public function izmeni($ime,$prezime,$adresa,$mesto,$klub,$datum_rodjenja, $ID_takmicar){
$this->connect();
$this->konekcijaMYSQL;
$upit = "UPDATE takmicar SET ime = '$ime', prezime = '$prezime', adresa = '$adresa',ID_mesta = $mesto,klub = '$klub', datum_rodjenja = '$datum_rodjenja' WHERE ID_takmicar = $ID_takmicar";
$izmeni = mysqli_query($this->konekcijaMYSQL,$upit) or die(mysqli_error($this->konekcijaMYSQL));
if($izmeni == 1){
echo "
Uspesno izmenjeno
";
$this->disconnect();
}else{
echo "
Nije izmenjeno
";
mysqli_free_result($izmeni);
$this->disconnect();
}
}
public function obrisi($upit){
$this->connect();
$this->konekcijaMYSQL;
$sql_upit = $upit;
$result = mysqli_query($this->konekcijaMYSQL,$sql_upit) or die(mysqli_error($this->konekcijaMYSQL));
if($result == 1){
echo "
Uspesno obrisano!
";
$this->disconnect();
}else{
echo "
Nije izbrisano!
";
$this->disconnect();
}
}
}
?>
3.Takmicenje
<?php
class Takmicenje extends Konekcija{
public function ispisi(){
$this->connect();
$q = "SELECT takmicenje.ID_takmicenje,takmicenje.takmicar1,takmicenje.naziv,CONCAT(takmicar.prezime,' ',takmicar.ime),mesto.naziv FROM takmicenje JOIN mesto ON takmicenje.ID_mesta = mesto.ID_mesto JOIN takmicar ON takmicenje.ID_takmicar = takmicar.ID_takmicar";
$upit = mysqli_query($this->konekcijaMYSQL,$q) or die(mysqli_error($this->konekcijaMYSQL));
$upit_broj = mysqli_num_rows($upit);
if($upit_broj != 0){
echo "
";
echo "
";
echo "
Redni broj takmicenjaNaziv takmicenjaIgraciMesto odrzavanja takmicenja";
while($row = mysqli_fetch_array($upit,MYSQLI_NUM)){
echo "
".$row[0].".".$row[2]."".$row[3]." < = > ".$row[1]."".$row[4]."";
}
echo "
";
$this->disconnect();
include("delovi/footer.php");
exit();
}else{
$this->disconnect();
echo "
Nema unetih takmicenja!
";
include("delovi/footer.php");
exit();
}
} } ?>
4.Mesto
<?php
class Mesto extends Konekcija{
public function ispisi(){
$this->connect();
$this->konekcijaMYSQL;
$upit = "SELECT ID_mesto,naziv FROM mesto";
$izvrsi = mysqli_query($this->konekcijaMYSQL,$upit) or die(mysqli_error($this->konekcijaMYSQL));
echo "
";
echo "
ID_mestaNaziv mesta";
while($row = mysqli_fetch_array($izvrsi,MYSQLI_ASSOC)){
echo "
".$row['ID_mesto']."".$row['naziv']."";
}
echo "
";
}
}
?>
Klasa Mesto ima metodu za iscitavanje svih unetih mesta.
Klasa Takmicenje ima metodu za ispisivanje svih unetih takmicenja.
Klasa Takmicar ima metode za upis izmenu i brisanje.
Klasa Konekcija sluzi za konekciju programa sa bazom.
Posto se u unosu takmicara i takmicenja nalazi unos za mesto, ID_MESTO je strani kljuc za takmicenje i takmicara.
Unos takmicara u bazu PHP:
<?php
//PROVERAVA DA LI SI KLIKNUO NA SUBMIT
if($_SERVER["REQUEST_METHOD"] == "POST"){
//OD KLASE PRAVI OBJEKAT
$takmicar = new Takmicar();
//uzimaju se vrednosti iz svih polja za takmicara
$ime = $_POST["ime_takmicara"];
$prezime = $_POST["prezime_takmicara"];
$klub = $_POST["klub"];
$datumrodjenja = $_POST["datumrodjenja"];
$adresa_takmicara = $_POST['adresa_takmicara'];
$mesto_odrzavanja = $_POST['mesto_odrzavanja'];
//upit za upis
$q = "INSERT INTO takmicar(ID_mesta,adresa,ime,prezime,klub, datum_rodjenja)
VALUES($mesto_odrzavanja,'$adresa_takmicara','$ime','$prezime','$klub','$datumrodjenja')";
$takmicar->upisi($q);
$conn->disconnect();
include("delovi/footer.php");
exit();
}
}
?>
Lista takmicara:
mysqli_query- izvrsava upit nad bazom koji sam napisao
mysqli_fetch_array- pravi niz od podataka dobijenih izvrsavanjem funkcije iznad i zajedno sa while petljom ga ispisuje.
$ispisiTakmicare = "SELECT mesto.naziv,mesto.ID_mesto,ime,prezime,adresa,takmicar.ID_mesta,takmicar.ID_takmicar,klub,datum_rodjenja FROM takmicar JOIN mesto ON mesto.ID_mesto = takmicar.ID_mesta";
$upit_zaIspis = mysqli_query($conn->konekcijaMYSQL,$ispisiTakmicare) or die(mysqli_error($conn->konekcijaMYSQL));
$broj_redova = mysqli_num_rows($upit_zaIspis);
if($broj_redova != 0){
echo "
";
/*ispisuje takmicare*/
echo "
";
echo "
Redni broj takmicaraPrezime i imeKlubDatum rodjenjaMestoAdresaIzmeni / Obrisi";
while($row = mysqli_fetch_array($upit_zaIspis,MYSQLI_NUM)){
echo "
".$row[6].".".$row[3]." ".$row[2]."".$row[7]."".$row[8]."".$row[0]."".$row[4]."
Izmeni
Obrisi
";
} echo "
";
Filter: JavaScript, header
Pozivom metode .on nad input poljem koje ima ID MyInput se proverava da li je nesto uneto u to polje i da li se nasto tako nalazi u tabeli ne racunajuci zaglavlje tabele.
ListaTakmicara:
echo "
";
.
.
.
Index:
$(document).ready(function(){
$("#myInput").on("keyup", function() {
var value = $(this).val().toLowerCase();
$("#kojiOces tr:not(#hello)").filter(function() {
$(this).toggle($(this).text().toLowerCase().indexOf(value) > -1);
});
});
});
Stampa:
$upit = "SELECT CONCAT(prezime,' ',ime),klub FROM takmicar";
$stampa = mysqli_query($conn->konekcijaMYSQL,$upit) or die(mysqli_error($conn->konekcijaMYSQL));
if($stampa){
echo "
";
echo "
Ime i prezimeKlub";
while($row = mysqli_fetch_array($stampa,MYSQLI_NUM)){
echo "
".$row[0]."".$row[1]."";
}
Slicno kao kod liste takmicara i ovde ispisuje sve upisane takmicare za stampanje.
SQL:
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";
Database: `sah_takmicenje`
--
create database sah_takmicenje; use sah_takmicenje;
-- --------------------------------------------------------
--
-- Table structure for table `mesto`
--
CREATE TABLE `mesto` (
`ID_mesto` int(30) NOT NULL,
`naziv` varchar(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `mesto`
--
INSERT INTO `mesto` (`ID_mesto`, `naziv`) VALUES
(1, 'Sombor'),
(2, 'Novi Sad'),
(3, 'Zrenjanin'),
(4, 'Backa Palanka');
-- --------------------------------------------------------
--
-- Table structure for table `takmicar`
--
CREATE TABLE `takmicar` (
`ID_takmicar` int(20) NOT NULL,
`ID_mesta` int(30) NOT NULL,
`ime` varchar(15) NOT NULL,
`prezime` varchar(25) NOT NULL,
`adresa` varchar(20) NOT NULL,
`datum_rodjenja` varchar(20) NOT NULL,
`klub` varchar(25) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- Table structure for table `takmicenje`
--
CREATE TABLE `takmicenje` (
`ID_takmicenje` int(25) NOT NULL,
`ID_takmicar` int(20) NOT NULL,
`ID_mesta` int(30) NOT NULL,
`naziv` varchar(20) NOT NULL,
`takmicar1` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Indexes for dumped tables
--
--
-- Indexes for table `mesto`
--
ALTER TABLE `mesto`
ADD PRIMARY KEY (`ID_mesto`);
--
-- Indexes for table `takmicar`
--
ALTER TABLE `takmicar`
ADD PRIMARY KEY (`ID_takmicar`),
ADD KEY `FK_mesto_takmicar` (`ID_mesta`);
--
-- Indexes for table `takmicenje`
--
ALTER TABLE `takmicenje`
ADD PRIMARY KEY (`ID_takmicenje`),
ADD KEY `FK_mesto` (`ID_mesta`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `mesto`
--
ALTER TABLE `mesto`
MODIFY `ID_mesto` int(30) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
--
-- AUTO_INCREMENT for table `takmicar`
--
ALTER TABLE `takmicar`
MODIFY `ID_takmicar` int(20) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `takmicenje`
--
ALTER TABLE `takmicenje`
MODIFY `ID_takmicenje` int(25) NOT NULL AUTO_INCREMENT;
--
-- Constraints for dumped tables
--
--
-- Constraints for table `takmicar`
--
ALTER TABLE `takmicar`
ADD CONSTRAINT `FK_mesto_takmicar` FOREIGN KEY (`ID_mesta`) REFERENCES `mesto` (`ID_mesto`);
--
-- Constraints for table `takmicenje`
--
ALTER TABLE `takmicenje`
ADD CONSTRAINT `FK_mesto` FOREIGN KEY (`ID_mesta`) REFERENCES `mesto` (`ID_mesto`);
COMMIT;
top related