Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateC
C sharpCalculatoareCorel drawDot netExcelFox pro
FrontpageHardwareHtmlInternetJavaLinux
MatlabMs dosPascalPhpPower pointRetele calculatoare
SqlTutorialsWebdesignWindowsWordXml

Realizarea unei aplicatii si posibilitati de dezvoltare ulterioara

calculatoare



+ Font mai mare | - Font mai mic



Realizarea unei aplicatii si posibilitati de dezvoltare ulterioara

1. Structura bazei de date pt. Aplicatia Best Clothes Shop



Aplicatia Best Clothes Shop este un magazin virtual. Implementarea acestui magazin virtual a plecat de la structura de baza reprezentata de baza de date, structura prezentata mai jos.

Codul din spatele crearii bazei de date este prezentat mai jos. Asa cum se observa si din structura bazei de date contine 9 table.

CREATE TABLE `admin` (

`id` tinyint(3) NOT NULL auto_increment,

`user` varchar(255) NOT NULL,

`pass` varchar(255) NOT NULL,

PRIMARY KEY (`id`)

);

CREATE TABLE `brands` (

`id_brand` int(11) NOT NULL auto_increment,

`id_cat` bigint(8) NOT NULL default '0',

`brand` varchar(255) NOT NULL default '',

PRIMARY KEY (`id_brand`)

);

CREATE TABLE `categorii` (

`id_cat` bigint(8) NOT NULL auto_increment,

`categorie` varchar(255) NOT NULL default '',

PRIMARY KEY (`id_cat`)

);

CREATE TABLE `clienti` (

`id_client` bigint(8) unsigned NOT NULL auto_increment,

`nume` varchar(255) NOT NULL default '',

`email` varchar(255) NOT NULL default '',

`localitate` varchar(255) NOT NULL default '',

`judet` varchar(255) NOT NULL default '',

`adresa` varchar(255) NOT NULL default '',

`telefon` varchar(255) default NULL,

`detalii` text,

PRIMARY KEY (`id_client`)

);

CREATE TABLE `comenzi` (

`id_comanda` bigint(8) unsigned NOT NULL auto_increment,

`id_client` bigint(8) unsigned NOT NULL default '0',

`status` enum('0','1') default '0',

`total` float(12,2) NOT NULL default '0.00',

PRIMARY KEY (`id_comanda`)

);

CREATE TABLE `marimi` (

`id_size` bigint(8) NOT NULL auto_increment,

`id_prod` bigint(8) NOT NULL default '0',

`size` float(4,1) NOT NULL default '0.0',

PRIMARY KEY (`id_size`)

);

INSERT INTO `marimi` VALUES (10,6,30.5);

INSERT INTO `marimi` VALUES (12,9,42.5);

INSERT INTO `marimi` VALUES (13,10,30.5);

INSERT INTO `marimi` VALUES (15,7,30);

INSERT INTO `marimi` VALUES (17,12,45.5);

INSERT INTO `marimi` VALUES (18,13,30.5);

INSERT INTO `marimi` VALUES (19,13,34);

INSERT INTO `marimi` VALUES (20,14,37);

INSERT INTO `marimi` VALUES (21,14,43);

INSERT INTO `marimi` VALUES (22,15,42.5);

INSERT INTO `marimi` VALUES (23,15,43);

INSERT INTO `marimi` VALUES (27,16,34.5);

INSERT INTO `marimi` VALUES (29,11,31.5);

CREATE TABLE `poze` (

`id_poza` bigint(8) NOT NULL auto_increment,

`id_prod` bigint(8) NOT NULL default '0',

`poza` varchar(255) NOT NULL default '',

`ord` bigint(1) NOT NULL default '0',

PRIMARY KEY (`id_poza`)

);

CREATE TABLE `produse` (

`id_prod` bigint(8) NOT NULL auto_increment,

`id_brand` bigint(8) NOT NULL default '0',

`produs` varchar(255) NOT NULL default '',

`descriere` varchar(255) NOT NULL default '',

`pret` float(6,2) default NULL,

PRIMARY KEY (`id_prod`)

);

CREATE TABLE `produse_comandate` (

`id_prod_com` bigint(8) unsigned NOT NULL auto_increment,

`id_comanda` bigint(8) unsigned NOT NULL default '0',

`id_produs` bigint(8) unsigned NOT NULL default '0',

`size` float(4,1) default NULL,

`bucati` bigint(8) unsigned NOT NULL default '0',

PRIMARY KEY (`id_prod_com`)

);

2. Partea de administrare a aplicatiei

Dupa realizarea structurii bazei de date am trecut la realizarea structurii de administrare a magazinului. Partea de administrare a magazinului se gaseste in subfolderul admin_area din directorul principal.

In interiorul acestui folder se gasesc alte doua subfoldere dar si fisierele *.php necesare configurarii si accesarii partii de administrare. Cele doua foldere din interiorul folderului admin_area sunt images si includes. Alaturi de acestea se gasesc fisierele autorizare.php, config.php, config_procesare.php, index.php, login.php, logout.php.

Fisiereul index.php este principalul fisier lansat in executie atunci cand se apeleaza partea de administrare a magazinului. Acest fisier contine o parte de validare a casutelor de logare. Daca administratorul magazinului nu introduce corect numele de utilizator si parola (in cazul nostru admin/admin) atunci ii este aruncat un mesaj de eroarea.

<?php

if(isset($_GET['msg']))

if($_GET['msg']=='failed2')

if($_GET['msg']=='relogin')

if($_GET['msg']=='delogare')

}

?>

Codul din spatele fisierului autorizare.php contine conexiunea partii de administrare cu baza de date.

<?php

if(isset($_GET['msg']))

if($_GET['msg']=='failed2')

if($_GET['msg']=='relogin')

if($_GET['msg']=='delogare')

}

?>

Fisierele config.php si config_procesare.php contin form-urile de adaugare/modificare/stergere a produselor si categoriilor din magazine si modul de procesare a acestora in partea de administrare pe cand fisierele login.php si logout.php asigura respectarea securitatii datelor folosind sesiuni pentru fiecare logare a administratorului magazinului.

Folderul images contine toate imaginile folosite in partea de administrare a site-ului. Acestea sunt iconitele de vizualizare si stergere dar si logo-ul partii de administrare.

Folderul includes contine diverse fisiere *.php. Aceste fisiere sunt: footer.php, function_config.php, function_thumb.php, header.php.

Fisierele de footer si header contin specificatiile necesare pentru crearea interfetei prezentate mai jos pe cand fisierele function_config si function_thumb contin form-urile de configurare a categoriilor, subcategoriilor si produselor din magazine. Function_thumb.php contine functiile necesare crearii de imagini cu rezolutie scazuta pentru ca pagina web sa se incarce cat mai repede.

Atunci cand utilizatorul doreste sa vada imaginea la rezolutie mare ii este afisata imaginea originala a pozei ce a fost upload-adata si nu thumb-ul .

Pentru a gestiona corect magazinul virtual, administratorul trebuie sa introduca datele - categorii, producatori, produse - in aceasta ordine. Comenzile pe care cumparatorii le fac pe acest site se gaseste la rubrica de Comenzi si pot fi vizualizate numai de catre administrator.

Daca apasam pe butonul Categorii ne este oferita posibilitatea de a adauga o noua categorie.

Categoriile existente se pot vizualiza in dreapta meniului si au in total doua iconite. Iconita rosie permite administratorului sa stearga complet o categorie de produse iar iconita cu lupa deschide un nou formular ce permite modificarea numelui categoriei.

Odata categoria modificata se actioneaza butonul modifica si se poate face o verificare in partea principala a magazinului - in interfata cu clientii.

Rubrica de producatori este asemanatoare cu rubrica de Categorii in ceea ce priveste partea de modificare. Fiecare producator poate fi gestionat pe o anumita categorie creata mai inainte.

Rubrica de produse permite adaugarea produselor pe categorie si producator. Pentru a realiza acest lucru se scrie numele produsului in formular, apoi se selecteaza producatorul ce apartine unei anumite categorii iar apoi se selecteaza marimile disponibile pentru acel produs - haine.

Odata completate se trece la partea de upload de poze pentru acel produs. Numarul maxim de poze ce pot fi adaugate pentru un produs este de cinci poze. In continuare se completeaza pretul acelui produs si se apasa pe Adauga pentru a fi adaugat in lista de produse.

3. Partea de interfata - magazin virtual - cu cumparatorul

Interfata principala cu cumparatorul este o interfata prietenoasa ce contine partea de header in partea de sus a paginii, partea de footer in josul paginii, partea de meniu ce se afla in jos de header, partea de Categorii Produse in partea stanga si partea de continut si detalii in mijloc.

Toate categoriile si subcategoriile pe care administratorul le introduce in baza de date se afla in meniul de Categorii Produse.

Codul din spatele interfetei principale continute in fisierul index.php contine apelarea fisierelor de header, footer si alte asemenea fisiere.

<?php include ('includes/header.php'); ?>

<td width='787' align='left'>

<table border='0' cellpadding='0' cellspacing='0' width='100%'>

<tr valign='middle'>

<td width='787' style='background-color:#4d575f; height:30px;' align='center' class='box_title'>

Ultimele Produse Adaugate

</td>

</tr>

<tr valign='top'>

<td align='left' style='border:solid 1px #a7acb0; background-color:#f0f9fd; height:565px;'>

<table border='0' cellpadding='0' cellspacing='25'>

<tr valign='top'>

<?php

$sql=mysql_query('select * from produse order by id_prod desc limit 8');

$j=0;

while ($row=mysqli_fetch_array($sql))

} // end while ?>

</tr>

</table>

</td>

</tr>

</table>

</td>

<?php include ('includes/footer.php'); ?>

Meniul principal, cel aflat in jos de header, contine cinci butoane principale. Acestea sunt Home, buton default pentru magazinul virtual, buton ce acceseaza index.php, butonul Despre noi ce contine detalii despre magazin si serviciile pe care acesta le ofera, butonul Produse ce permite vizualizarea tuturor produselor prezente in acest magazin, butonul de comanda ce permite cumparatorilor sa isi afiseze cosul de cumparaturi si sa mearga mai departe pana la furnizarea datelor necesare cumpararii produselor si nu in ultimul rand butonul de Contact ce permite vizitatorilor si clientilor sa adreseze intrebari administratorului magazinului.

Daca dorim sa realizam o comanda a unui produs trebuie in primul rand sa selectam produsul respectiv.

Deoarece acest magazine vinde haine, urmatorul pas pe care trebuie sa il facem este sa selectam marimea dorita pentru acel produs.

Apoi adaugam acel produs in cosul nostru de cumparaturi folosind butonul Adauga in Cos prezent in partea dreapta a paginii de detalii pentru acel produs.

Codul din spate se regaseste in fisierul produse.php si este gestionat in asa fel incat sa listeze atat toate produsele dintr-o categorie/subcategorie cat si sa listeze detaliile pentru fiecare produs in parte.

<?php

include ('includes/header.php');

if (isset($_GET['id_cat']))

if (isset($_GET['id_brand']))

?>

<td width='787' align='left'>

<table border='0' cellpadding='0' cellspacing='0' width='100%'>

<?php

if (!isset($_GET['id_prod'])) else if (isset($_GET['id_brand'])) else ?>

</td>

</tr>

<tr valign='top'>

<td align='left' style='border:solid 1px #a7acb0; background-color:#f0f9fd; height:565px;'>

<table border='0' cellpadding='0' cellspacing='25'>

<tr valign='top'>

<?php

if (isset($_GET['id_cat'])) else if (isset($_GET['pret']) && $_GET['pret'] != '')

}

if (isset($_GET['id_brand'])) else if (isset($_GET['pret']) && $_GET['pret'] != '')

}

$sql=mysql_query($sql_sort);

$j=0;

while ($row=mysqli_fetch_array($sql))

} // end while ?>

</tr>

</table>

</td>

</tr>

<?php

} else else

$sql_pz=mysql_query('select * from poze where id_prod=''.$_GET['id_prod'].'' AND ord=''.$ord.''');

$row_pz=mysqli_fetch_array($sql_pz);

if ($row_pz['poza'] != '') else ?>

</td>

<td align='left' style='background-color:#232c31; height:420px; width:145px;'>

<table border='0' cellpadding='0' cellspacing='0' style='margin-top:2px;'>

<?php

while ($row=mysqli_fetch_array($sql)) ?>

</td>

</tr>

<?php

} //for

} //while ?>

</table>

</td>

</tr>

<?php

$sql_prod=mysql_query('select * from produse where id_prod=''.$_GET['id_prod'].''');

$row_prod=mysqli_fetch_array($sql_prod); ?>

<tr valign='top'>

<td style='background-color:#ffffff; height:130px; width:620px;'>

<table border='0' cellpadding='0' cellspacing='0' style='margin-top:10px; margin-left:10px; margin-right:10px;'>

<tr valign='top'>

<td width='150px' style='text-align:left;'>DENUMIRE PRODUS :</td>

<td width='420px' style='font-size:14px; font-weight:bold; text-align:left; color:#000000;'>

<?php echo $row_prod['produs']; ?>

</td>

</tr>

<tr><td colspan='2' height='10px'></td></tr>

<tr>

<td width='150px' style='text-align:left;'>PRET PRODUS :</td>

<td width='420px' style='font-size:14px; font-weight:bold; text-align:left; color:#ed1b24;'>

<?php echo $row_prod['pret']; ?>&nbsp;&nbsp;RON</b>

</td>

</tr>

<tr><td colspan='2' height='10px'></td></tr>

<tr>

<td width='150px' style='text-align:left;'>DETALII PRODUS :</td>

<td width='420px' style='text-align:left; color:#000000;'>

<?php echo $row_prod['descriere']; ?>

</td>

</tr>

</table>

</td>

<td style='background-color:#232c31; height:130px; width:145px;'>

<table border='0' cellpadding='0' cellspacing='0' width='100%'>

<tr valign='top'>

<td style=' height:30px; text-align:center; color:#232c31;'>

<form action='produse.php?id_prod=<?php echo $row_prod['id_prod']; ?>' method='post' name='marime'>

<select name='size' onchange='this.form.submit();' style='color:#232c31;'>

<option value='' selected='selected'>Marimi disponibile

<?php

$sql_size=mysql_query('select * from marimi where id_prod=''.$row_prod['id_prod'].'' order by size asc');

while ($row_size=mysqli_fetch_array($sql_size)) ?>

</select>

</form>

</td>

</tr>

<tr valign='middle'>

<td style=' height:30px; text-align:center; color:#FFFFFF;'>

<?php

if(isset($_POST['size'])) ?>

</td>

</tr>

</table>

</td>

</tr>

</table>

</td>

</tr>

<?php

} ?>

</table>

</td>

<?php include ('includes/footer.php'); ?>

Odata realizata adaugarea in cosul de cumparaturi o noua pagina este afisata. Aceasta pagina contine produsele pe care clientul le-a adaugat si pentru care clientul are posibilitatea de a le modifica numarul de bucati, de a le sterge din cos sau de a continua comanda prin apasarea butonului de Trimite comanda.

Cand acest buton este apasat clientului ii este afisat formularul pentru completarea datelor unde se vor trimite produsele achizitionate.

Orice comanda realizata in acest mod este transmisa in partea de administrare in rubrica Comenzi.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 2159
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved