Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Informatica


Index » educatie » Informatica
PROIECT PBD - Site cu baze de date despre filme


PROIECT PBD - Site cu baze de date despre filme




Universitatea POLITEHNICA Bucuresti

Facultatea de Automatica si Calculatoare




PROIECT PBD

Site cu baze de date despre filme

Descriere generala a proiectului

Acest site are drept scop furnizarea informatiilor exclusiv legate de lumea filmului, informatii ca detalii despre un anumit film, despre actorii care interpreteaza in acesta, despre locurile unde poate vizionat, data si orele de difuzare, precum si adresele si capacitatea cinema-urilor in care poate fi vazut. Aceste informatii sunt usor accesibile printr-un motor de cautare in functie de diferite conditii care face posibila gasirea rapida si usoara a datelor dorite.

Situl este gazduit pe un server Apache, baza de date este gestionate cu MySQL cu ajutorul scripturilor PHP. Am folosit HTML-ul ca mijloc de dezvoltare a interfetei site-ului si scripturile PHP pentru interactiunea cu Baza de Date.

Baza de date a site-ului (PBD) contine 5 tabele cu urmatoarea structura:

Tabela: filme (contine informatii de baza despre filme)

Indices:

Name

Type

PRIMARY

Id

NewIndex

Titlu

Fields:

Name

Type

NULL

Default

Extras

Comment

Id

int(11)

auto_increment

Titlu

varchar(255)

An_productie

year(4)

Tara_productie

varchar(30)

NULL

Actor_principal

varchar(30)

Regizor

varchar(30)

Gen

varchar(30)

Tabela: actori (contine date despre actorii din tabela cu filme)

Indices:

Name

Type

PRIMARY

Id

NewIndex

Nume

Fields:

Name

Type

NULL

Default

Extras

Comment

Id

int(11)

auto_increment

Nume

varchar(30)

Data_nasterii

date

Locul_nasterii

varchar(30)



Film_de_referinta

varchar(255)

Tabela: info_filme

Indices:

Name

Type

PRIMARY

Id

NewIndex2

Titlu

Fields:

Name

Type

NULL

Default

Extras

Comment

Id

int(11)

auto_increment

Titlu

varchar(255)

Durata

int(3)

Data_difuzare

date

Tabela: cinema

Indices:

Name

Type

PRIMARY

Id

Fields:

Name

Type

NULL

Default

Extras

Comment

Id

int(11)

auto_increment

Nume_cinema

varchar(30)

Titlu

varchar(255)

Ora

datetime

Tabela: info_cinema

Indices:

Name

Type

PRIMARY

Id

NewIndex

Nume_cinema

Fields:

Name

Type

NULL

Default

Extras

Comment

Id



int(11)

auto_increment

Nume_cinema

varchar(30)

Nr_locuri

int(3)

Adresa

varchar(255)

Dupa cum se vede intre aceste aceste tabele nu exista relatii explicite precum chei externe, ci intre ele am stabilit o relatie intrinseca determinata pe baza modului de gesitonare cu ajutorul codului.

Astfel informatiile in fiecare tabela pot fi introduse individual, dar la eliminare se tine cont de relatiile stabilite intre acestea. Spre exemplu cand are loc o eliminare din tabela "filme" sunt eliminate toate intrarile legate de filmul respectiv din tabelele "info_filme" si "cinema", intrucat acestea nu mai sunt necesare.

Interfata este foarte simpla ea permitand atat cautarea rapida a informatiilor pe baza unui set de conditii si a unei fractiuni de nume, cat si stergerea sau inserarea in fiecare tabela prin intermediul formularelor.


S-a incercat o implementare cat mai practica a interfetei care nu dispune de detalii elaborate pentru a usura folosirea si de asemenea pentru a obtine un timp cat mai bun de incarcare a paginii nu sunt folosite imagini de dimensiuni mari iar dimensiunile pentru poze sunt specificate in cod.

Detalii de programare si exemplificari pe cod

Site-ul are 3 zone distincte:

zona sperioara care permite vizionarea tabelelor prin intermediul scripturilor de selectie si afisare;

zona de cautare care pemite realizarea de cautare in functie de anumite conditii si dupa nume;

zona de lucru unde sunt afisate toate rezultatele actiunilor in primele 2 zone;

Corespunzator zonei superioare exista un script HTML care directioneaza linkurile catre scripturi PHP ca urmatorul:

<html>

<head>

</head>

<body background='jamesdean.jpg'>

<center>

<?php

$connection = mysql_connect('localhost','root','123456');

mysql_select_db('pbd', $connection);

$result = mysql_query ('SELECT * FROM filme ORDER BY Titlu ASC ', $connection);

$num=mysql_numrows($result);

mysql_close();

include('listfilme.php');

?>

</table>

<table border=0 cellpadding=5 cellspacing=20>

<th>

<a href='adauga_filme.html' target='work'> <font color='#40A0F0' size=3><b>ADAUGA</b></font></a>

</th>

<th>

<a href='elimina_filme.html' target='work'> <font color='#40A0F0' size=3><b>STERGE</b></font></a>

</th>

</table>

</center>

</body>

</html>

Dupa cum se vede acest script realizeaza conectarea la o baza de date din care preia tabela pe care o afiseaza in pagina HTML. Fisierul "listfilme.php" contine portiunea de cod care realizeaza afisarea datelor intr-un tabel pe pagina HTML si este facut separat pentru a evita multiplicarea de cod.

Formularul de cautare din zona stanga are urmatorul cod HTML:

<html>

<head>

<title>Proiect PBD</title>

</head>

<body bgcolor='black' text='#6060BA'>

<img src='im1.jpg'>

<br><br>

<center>

<form action='search.php' method='post' target='work'>

<h4>Selectati una din optiunile de cautare:<h4>

<select name='selectie' >

<option value='filmt'>Cauta film dupa titlu</option>

<option value='filma'>Cauta film dupa actor</option>

<option value='actorn' selected>Cauta actor dupa nume</option>

<option value='cinemaf' >Cauta cinema dupa film</option>

<option value='cineman' >Cauta cinema</option>

</select>

<br>

<h4>Scrieti numele sau o fractiune din acesta:<h4>

<input type='text' name='txt' size='23' maxlength='30'>

<br>

<h4> &nbsp; Apasati pentru a cauta in baza de date:<h4>

<input type='submit' value='Cauta'>

</form>

<br>

<img src='im5.jpg' width='160' >

</center>

</body>

</html>

Acesta foloseste ca actiune pentru formular scriptul PHP:

<html>

<head>

</head>

<body background='jamesdean.jpg'>

<center>

<?php

$selectie = $_POST['selectie'];

$txt = $_POST['txt'];

$connection = mysql_connect('localhost','root','123456');

mysql_select_db('pbd', $connection);

if ($selectie=='actorn')

$result = mysql_query ('SELECT * FROM actori WHERE Nume LIKE '%$txt%' ORDER BY Nume ASC ', $connection);

else if ($selectie=='filmt')

$result = mysql_query ('SELECT * FROM filme WHERE Titlu LIKE '%$txt%' ORDER BY Titlu ASC', $connection);

else if ($selectie=='filma')

$result = mysql_query ('SELECT * FROM filme WHERE Actor_principal LIKE '%$txt%' ORDER BY Actor_principal ASC', $connection);

else if ($selectie=='cinemaf')

$result = mysql_query ('SELECT * FROM cinema WHERE Titlu LIKE '%$txt%' ORDER BY Nume_cinema ASC', $connection);

else if ($selectie=='cineman')

$result = mysql_query ('SELECT * FROM info_cinema WHERE Nume_cinema LIKE '%$txt%' ORDER BY Nume_cinema ASC', $connection);

else exit(1);

$num=mysql_numrows($result);

mysql_close();

if ($num==0)

if ($selectie=='actorn')

include('listactori.php');

else if ($selectie=='filmt' || $selectie=='filma')

include('listfilme.php');

else if ($selectie=='cinemaf')

include('listcinema.php');

else if ($selectie=='cineman')

include('listinfocinema.php');

?>

</table>

</center>

</body>

</html>








Politica de confidentialitate





Copyright © 2021 - Toate drepturile rezervate