Utilizare Internet

Documente similare
Utilizare Internet

Utilizare Internet

PHP (II)

Utilizare Internet

Microsoft Word - Curs_07.doc

Utilizare Internet

Microsoft Word - Curs 11 - PHP.doc

Utilizare Internet

tehnologii web

Utilizare Internet

ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja f

Информационная система персонализации, печати и учета документов об образовании

Utilizare Internet

RZOLVARE EXERCITIU ZODII declare cursor distributie_zodie is select nume_zodie, count(*) distributie from zodiac z join utilizatori u on to_date(to_ch

Managementul Resurselor Umane

Ruby on Rails Pop Alexandru Pavel Razvan Calculatoare 4

Asupra optimizării procesării cererilor MYSQL pentru creşterea calităţii

Microsoft Word - Ansamblul software CRONIS

manual_ARACIS_evaluare_experti_v5

Logică și structuri discrete Limbaje regulate și automate Marius Minea marius/curs/lsd/ 24 noiembrie 2014

manual_ARACIS_evaluare_experti_v4

Programarea şi utilizarea calculatoarelor

Transmisia datelor multimedia in retele de calculatoare <Titlu Lucrare>

Baze de date

Proceduri stocate Syntax: CREATE PROCEDURE <Name> type1,...] AS -- secventa de comenzi SQL GO O procedura stocata se ruleaza cu EXEC: EXEC <N

Slide 1

proiectarea bazelor de date

Laborator 8: PROIECTAREA BAZELOR DE DATE SUBPROGRAME in PL/SQL (partea II - functii) Un subprogram este un bloc PL/SQL cu nume (spre deosebire de bloc

Aggregating Data

Limbaje de Programare Curs 6 – Functii de intrare-iesire

Capitole Speciale de Informatică Curs 1: Extragerea informaţiilor. Modelul boolean şi modelul boolean extins 27 septembrie 2018 Extragerea informaţiil

Entrepreneurship and Technological Management

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

Operatorii in C Expresii Operatori aritmetici Operatori de asignare Operatori de incrementare si decrementare Operatori relationali Operatori logici O

Baze de date-Anul 2 (semestrul 2)

PowerPoint Presentation

E_d_Informatica_sp_SN_2014_bar_10_LRO

Microsoft PowerPoint - Prezentarea_programelor_de_studii_de_licenta_2019

FACULTATEA DE AUTOMATICA SI CALCULATOARE Regulamentul de organizare al examenelor de diplomă și de disertație pentru programele de studii din domeniul

Database Management Systems Cap 2. Structured Query Language (1)

Microsoft Word - 04-Cotfas Petru A-Rezumat RO

Modulul 1 M1-2.3 Protocoale şi servicii în reţea În acest capitol ne propunem să abordăm următoarele: Protocoalele şi aplicaţiile folosite în reţelele

Laborator2 - ASR

Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011

Platforma 5. 1 Introducere in MSSQL Introducere Pe parcursul ultimilor ani, se poate observa o cuplare a limbajelor de programare majore cu tipuri de

Gheorghe IUREA Adrian ZANOSCHI algebră geometrie clasa a VII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA 45 Matematică. Clasa a VII-

Probleme proiect TP BITPERM Implementați un algoritm care citește de la intrarea standard două numere naturale și scrie la ieșirea standard da

Microsoft Word - Curs_09.doc

PowerPoint Presentation

Realizarea fizică a dispozitivelor optoeletronice

Retele Petri si Aplicatii

Microsoft Word - Laboratorul 3.doc

SIVECO standard template for large documents

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIȘA DISCIPLINEI 1.

PCLPII-C16(9)

Limbaje de programare Pointeri. Alocare dinamică (continuare) 26 noiembrie 2012

PowerPoint Presentation

PROIECT DIDACTIC Clasa a VII-a Informatică și TIC

Limbaje de Programare Curs 8 – Fisiere

Creational design patterns

COMISIA EUROPEANĂ DIRECȚIA GENERALĂ INFORMATICĂ Componenta de aplicare a politicii WiFi4EU Ghid de implementare v1.0 Cuprins 1. Introducere Br

PowerPoint Presentation

Microsoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx

Microsoft Word - Curs_10.doc

Laborator 7: PROIECTAREA BAZELOR DE DATE SUBPROGRAME in PL/SQL (partea I - proceduri) Un subprogram este un bloc PL/SQL cu nume (spre deosebire de blo

Laborator02

ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine număru

Web Social FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 2. Dezvoltarea blogurilor prin intermediul WordPress.com PREZE

Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Test

Curs 6: Clasificarea surselor de informatii - Clasificarea Bayes Naiva. Modelul Bernoulli

Elemente de Web design

Logică și structuri discrete Logică propozițională Marius Minea marius/curs/lsd/ 3 noiembrie 2014

User guide

Curs 3 Permutari cu repetitie. Combinari. Algoritmi de ordonare si generare

Nr.înregistrare: 88 / Social Media in the Classroom Prof.Cucuianu Marița Colegiul Național,,Neagoe Basarab"Oltenița,jud.Călărași 2.Quizizz E

Sisteme de calcul în timp real

Inserarea culorilor in tabele

Laborator 2 - Încapsularea Programare Orientată pe Obiecte Tema 2.1 Să se analizeze programul EX2.C Indicatii 2.1 A nu se uita de fisierul EX2.H Tema

PowerPoint Presentation

Elemente de Web design

PowerPoint Presentation

Lucrarea 10

Laborator5_SQL_an2

Fâciu N. Maria-Ema CASA CORPULUI DIDACTIC BRĂILA PROGRAM DE FORMARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: Fâciu N. M

EXCEL FĂRĂ SECRETE Grafice şi diagrame

Mai multe despre optimizare


Informație și comunicare

e-learning Agronomie Platforma de e-learning Versiunea: Ghid de utilizare Beneficiar: UNIVERSITATEA DE STIINTE AGRONOMICE SI MEDICINA VETERINARA

Dorel LUCHIAN Gabriel POPA Adrian ZANOSCHI Gheorghe IUREA algebră geometrie clasa a VIII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA

Facultatea de Științe Politice, Administrative și ale Comunicării Str. Traian Moșoiu nr. 71 Cluj-Napoca, RO Tel.: Fax:

PROIECT DIDACTIC DATE DE IDENTIFICARE Data: Școala : Școala Gimnazială Grigore Moisil Ploiești Clasa: a VI-a Profesor: Ilie Oana Magdalena Disciplina:

Prezentarea calculatorului

Laborator 3

Diapositive 1

Textul si imaginile din acest document sunt licentiate Attribution-NonCommercial-NoDerivs CC BY-NC-ND Codul sursa din acest document este licentiat Pu

Introducere în limbajul JavaScript

Adresarea memoriei Modurile de adresare constituie un instrument principal pentru reprezentarea în memorie a imaginii datelor, aşa cum este ace

Paradigme de programare

Transcriere:

Curs 14 2014/2015 1

Functionalitate La toate temele 1p din nota este obtinut de indeplinirea functionalitatii cerute. orice tehnologie, orice metoda, sa faca ceea ce trebuie Forma paginii prezinta importanta dependenta de dificultatea temei Initiativa Necesitatea investigarii posibilitatilor de imbunatatire Cooperare Necesitatea conlucrarii intre 2/3 studenti cu 2/3 teme pereche 2

Activitate suplimentara termen limita: S14 inainte de curs Proiect in mare masura decide nota finala cea mai importanta proba curs SI laborator suport pentru crearea aplicatiei la proiect termen limita: S14, laborator 3

Raspunsul corect va fi recompensat cu: 2p in plus la nota de laborator (se pot compensa astfel eventuale absente) 2p in plus la nota de la testarea finala (examen) Nota de la proiect Nu este influentata Nota finala se obtine prin medie ponderata dupa aplicarea suplimentelor amintite mai sus 4

Raspunsul si codul de corectie trebuie trimise individual prin email Codul trebuie sa fie functional Maxim 2 incercari pentru fiecare student Studentii pot discuta intre ei dar Oricare doua raspunsuri identice se elimina reciproc 5

I. HTML si XHTML (recapitulare) 1 oră II CSS 2 ore III Baze de date, punct de vedere practic 1 oră IV Limbajul de interogare SQL 4 ore V PHP - HyperText Preprocessor 8 ore VI XML - Extended Mark-up Language si aplicatii 4 ore VII Conlucrare intre PHP/MySql, PHP/XML, Javascript/HTML 2 ore VIII Exemple de aplicatii 6 ore Total 28 ore 6

7

1p functionalitate cadrul didactic va incerca sa foloseasca aplicatia respectiva. Daca pe dinafara e vopsit gardul se obtine 1p 1p mutarea site-ului (restaurare backup + setare server) pe un server de referinta server-ul de referinta va fi masina virtuala utilizata la laborator (inclusiv aplicatiile cu pricina) sa va pregatiti pentru situatia in care pe acel server exista si alte baze de date care nu trebuie distruse fiecare student isi pune sursele in directorul propriu, in radacina server-ului. Daca tema depinde de anumite fisiere ale colegului, le cereti inainte 1p cunoasterea codului raspunsul la intrebari de genul: unde ai facut aceasta Teme de nota 8/9/10 1p initiativa. Investigarea posibilitatilor de imbunatatire 1p intrebari legate de cooperarea cu colegii de echipa 1p explicatii relativ la functionarea unei anumite secvente de cod 8

9

20.06.2015, ora 14, P2 probleme fiecare student are subiect propriu toate materialele permise tehnica de calcul nu este necesara (dar e permisa) 10

Oricare din temele de proiect (sau asemanatoare) poate constitui una din problemele de examen se va cere realizarea planului / structurii logice a aplicatiei Se poate cere scrierea unui cod pentru realizarea anumitor operatii, fara necesitatea corectitudinii tehnice absolute ( ;, nume corect al functiilor, parametri functie etc.) Se poate cere interpretarea unui cod php/mysql cu identificarea efectului 11

12

Aplicatia folosita la curs / laborator nu este optima din motivele anuntate in cursul 9 De asemenea este incompleta o cerinta obligatorie intr-o aplicatie reala dar neacoperita in exemplu este verificarea datelor introduse pe browser Javascript pe server dupa primirea datelor PHP se pot gasi usor combinatii de date introduse care sa duca la incompatibilitati browser-php-mysql 13

Provine de la citirea initiala a intregii baze de date intr-o matrice in antet.php care apoi este folosita de celelalte fisiere. $query = "SELECT p.*, c.`nume` AS `nume_categ` FROM `produse` AS p LEFT JOIN `categorii` AS c ON (c.`id_categ` = p.`id_categ`)"; $result = mysql_query($query, $conex) or die(mysql_error()); $row_result = mysql_fetch_assoc($result); $totalrows_result = mysql_num_rows($result); do { $produse[$row_result['nume_categ']][$row_result['nume']]=array ("descr" => $row_result['detalii'], "pret" => $row_result['pret'], "cant" => $row_result['cant']); } while ($row_result = mysql_fetch_assoc($result)); 14

se manifesta la introducerea unei noi categorii 15

Introducerea unei noi categorii se traduce prin aparitia unei linii noi in tabelul categorii ( jucarii ), fara produse asociate in tabelul de produse Realizarea unei selectii si uniri de tip LEFT JOIN are ca efect ignorarea categoriei vide in rezultat, ca urmare categoria jucarii nu va aparea in matricea $produse pe care se bazeaza aplicatia mai departe 16

17

Urmarea ar fi ca o categorie vida nu va mai putea fi populata cu produse si nici macar afisata pentru ca nu se regaseste in rezultat In codul utilizat acest lucru este partial corectat prin modificarea matricii $produse la introducerea unei noi categorii $produse[$_post["nou_nume"]]=array(); Aceasta corectie are doar efect temporar in noua categorie se pot introduce produse doar la pasul imediat urmator daca se introduce macar un singur produs la pasul urmator aplicatia pare sa functioneze corect acest lucru mascheaza functionarea gresita deoarece utilizarea tipica este: categorie noua produs in acea categorie pare ca functioneaza corect 18

corectie temporara in admin_categ.php are efect doar in functionarea in continuare a scriptului, imediat dupa introducerea categoriei se afiseaza noua categorie se pot introduce produse if (isset($_post["c_nou"])) {//categorie noua introdusa $query = "INSERT INTO `categorii` (`nume`, `detalii`) VALUES ('".$_POST["nou_nume"]."', '".$_POST["nou_desc"]."')"; echo $query;//util in perioada de testare $result = mysql_query($query, $conex) or die(mysql_error()); $record=mysql_insert_id();//obtinerea id-ului nou $produse[$_post["nou_nume"]]=array(); // update matrice produse echo "<p>categoria ".$_POST["nou_nume"]." adaugata! Are id = ".$record."</p>"; } 19

Corect: asa cum e anuntat in cursul 9 Citirea datelor in fiecare fisier in parte Citirea numai a datelor necesare In acest mod admin_categ.php va citi date doar din tabelul categorii pentru afisarea listei, cu identificarea tuturor categoriilor, inclusiv a celor vide Numararea produselor din fiecare categorie se poate face (si mult mai eficient) prin utilizarea functiei aggregate COUNT in MySql 20

Alternativa minimala, pe scheletul existent, compatibil in urma (se repeta - ineficient) Utilizarea unei selectii RIGHT JOIN care permite evidentierea liniilor din tabelul categorii fara corespondent in tabelul produse 21

Linia cu valori NULL in dreptul produsului poate avea efecte neplacute in aplicatie apare un produs fictiv in categoria jucarii cu valori nule acest produs nu poate fi modificat dar se rezolva dupa introducerea unui alt produs in categoria jucarii 22

Rezolvarea minimala (ineficienta) e completa cu introducerea unui test pentru identificarea liniilor nule do { $produse[$row_result['nume_categ']][$row_result['nume']]=array ("descr" => $row_result['detalii'], "pret" => $row_result['pret'], "cant" => $row_result['cant']); } while ($row_result = mysql_fetch_assoc($result)); do { if (empty($row_result['nume'])) $produse[$row_result['nume_categ']]=array(); else $produse[$row_result['nume_categ']][$row_result['nume']]=array ("descr" => $row_result['detalii'], "pret" => $row_result['pret'], "cant" => $row_result['cant']); } while ($row_result = mysql_fetch_assoc($result)); 23

24

25.05.2015 1 singur raspuns Turcanu V. Cristina-Florentina partial corect: +1.5p teza / +1.5p laborator cu posibilitatea de a redirectiona punctele bonus intre probe (dar nu la proiect) 25

Laboratorul de microunde si optoelectronica http://rf-opto.etti.tuiasi.ro rdamian@etti.tuiasi.ro 26