Download - curs php si mysql

Transcript
  • 7/29/2019 curs php si mysql

    1/32

    1

    SUPORT DE CURSPHP i MYSQL

  • 7/29/2019 curs php si mysql

    2/32

    2

    LIMBAJUL PHPNoiuni introductive

    n cazul paginilor statice create cu HTML utilizatorul poate vedea doar imagini i text. FolosindPHP ns vom putea crea aa numitele pagini dinamice n care apare elementul de interactivitate: se potprelua date din formulare realizate n PHP, citi, prelucra i afia. De asemenea se poate face interaciuneacu o baz de date creat pe un server.

    Pentru a putea lucra cu PHP trebuie n primul rnd s avem acces la un server pe care ruleaz PHP(acesta poate fi server separat sau server virtual creat pe calculatorul personal). Acest server (cel virtual)poate fi instalat folosind pachetul WAMP care este free pe internet.

    Observaii:- Codul PHP poate fi scris folosind editorul Notepad;- n cazul n care lucrm cu Wamp, fiierul care conine codul programului php trebuie s aib

    extensia php i s fie salvat n subfolderul WWW din folderul WAMP ;- Lansarea n execuie se face utiliznd un browser (expl Interne t Explorer) n care se va scrie n

    bara de adrese: http://localhost/ (Expl: http://localhost/exemplu.php).

    Crearea primului script php:

    Obs: echo - afieaz un mesaj

    Combinarea codului HTML cu cod PHP:

    Acest lucru se ntmpla foarte des. n interiorul unui script HTML poate exista script PHPdelimitat de etichetele ns fiierul final trebuie sa fie PHP.

    Exemplu:

    Text combinat HTML cu PHP

    http://localhost/exemplu.php).http://localhost/exemplu.php).
  • 7/29/2019 curs php si mysql

    3/32

    3

    Comentarii n scrispturi:# - un tip de comentariu pentru un rnd// - un alt tip de comentariu pentru un rnd

    VARIABILE I CONSTANTE N PHP

    Variabilele sunt mrimi care pot lua diferite valori. Numele dat unei variabile ncepe ntotdeaunacu simbolul $ urmat de o litera sau caracterul _. Nu poate fi precedat niciodat de o cifr.

    Definim o variabil astfel:$=;

    Observaie: Tipul de date este specificat prin valoarea atribuit variabilei iniiale.Exemplul 1:$a=1; // numr ntreg (zecimal)$b=3.14: // numr real$c=exemplu de text; //ir de caractere$c=exemplu de text; //ir de caractere$matrice = array('alb','rosu','verde'); //matrice$a=TRUE;//variabil booleana

    Exemplul 2:..$a=1;echo Numarul , $a,
    ;..Se va afia : Numarul 1

    n cazul unui ir de caractere definit prin ghilimele duble se pot folosi urmtoarele secvene:

    Secventa Semnificatie

    \n rand nou\r sfarsit de linie

    \t tab orizontal

    \\ backslash

    \$ simbol dolar

    \" ghilimele duble

    Variabile predefinite

    $_SERVER['REMOTE_ADDR'] afieaz adresa IP a vizitatorului$_SERVER['HTTP_USER_AGENT']- afieaz informatii despre browserul folosit$_SERVER['HTTP_REFERER'] afieaz pagina vizitata anterior$_SERVER['SERVER_NAME'] afieaz numele serverului$_SERVER['SCRIPT_NAME'] afieaz numele scriptului

    Crearea constantelor

  • 7/29/2019 curs php si mysql

    4/32

    4

    Constantele sunt create cu ajutorul funciei define.Expl: define (PI, 3.14);

    OPERATORI FOLOSII N PHP

    n PHP exist urmtoarele tipuri de operatori:

    1. Operatori aritmetici:Denumire operator Operator

    Adunare +Scdere -nmulire *mprire /Modulo (restul mpririi) %

    2. Operatori de comparaie:Denumire operator Operator Obs. Expl.Egalitate = = TRUE dac a i b sunt egale $a= =$b

    Identic = = = TRUE dac a i b sunt egalei de acelai tip

    $a= = =$b

    Mai mare ca > TRUE dac a este mai mare dect b $a>$bMai mic ca < TRUE dac a este mai mic dect b $a

  • 7/29/2019 curs php si mysql

    5/32

    5

    nu amandoua

    Observaii: Numerele aleatoare sunt returnate de funciarand()Expl:echo rand(); // se genereaz un numr aleatorecho rand(1,50) // se genereaz un numr aleator de la 1 la 50

    STRUCTURI DE CONTROL

    1. ATRIBUIREASintaxa este:

    $=unde valoare poate fi o constanta, o variabila sau o expresie

    2. DECIZIA

    Sintaxa IF este:

    if else

    Mod de lucru:- se testeaza conditia logica. Daca este adevarata se executa instructiunea 1 dacaeste falsase executa instructiunea 2

    Sintaxa SWITCH este:

    $variabila=switch($variabila){case :

    ;break;

    case :

  • 7/29/2019 curs php si mysql

    6/32

    6

    ;break;

    .............case :

    ;break;

    default:

    Mod de lucru:- se citeste valoarea unei variabile- se va executa instructiunea corespunzatoae cazului cand =- daca nu este corespunde nici un ca se va executa instructiunea din default

    3. REPETITIASintaxa WHILE este:

    while ()

    Mod de lucru:/ se testeaza conditia logica. Cit timp este adevarata se executa instructiunile din cadrul structurii

    Sintaxa DO .WHILE este:

    do //repeta..............

    while //cit timp conditia este adevarata

    Mod de lucru: Se executa instructiunile cat timp conditia este adevarata

    Sintaxa FOR este:

    for (; ; )

    Mod de lucru:- cit timp contorul nu a ajuns la valoarea finala se executa instructiunile si se incrementeaza

    contorul

    Functii pentru siruri de caractere

    a) strlen returneaz lungimea unui sir de caractereExemplu:

  • 7/29/2019 curs php si mysql

    7/32

    7

    Afisare:

    4

    b) strstr caut un subsir intr-un sirExemplu:

    ..

    if( strstr( $sir, PHP ) = =true )

    echo gasit;

    else

    echo nu am gasit;

    c) stristr identic cu strstr doar c nu tine cont de litere mari sau micid) substr afieaz un subir ntr-un ir dat

    Exemplu:

    Afisare:nv

    d) str_replace inlocuieste un subsir cu un sir dat

    Exemplu:

    Afisare:

    stiu php

    e) strtoupper schimb tipul literelor (din mici in mari)

    f) strtolower - schimb tipul literelor (din mari in mici)

  • 7/29/2019 curs php si mysql

    8/32

    8

    g) trim terge spaiile dintr-un ir

    h) nl2br transforma caracterele enter in

    Exemplu:

    Afisare:text afisat pe3linii

    e) explode extrage subiruri dintr-un sir, fiecare subir extras punndu-l ntr-unarray(matrice)

    Forma general:array explode ( string $delimiter, string $string[, int $limit ]

    $delimiter caracterul dup care se face delimitareaExemplu:

    < ?php$propozitie = "Exemplu de folosire a functiei explode";$cuvinte = explode(" ", $propozitie);echo $cuvinte[0] ." ". $cuvinte[5] ;?>

    Afiare:Exemplu explode

    e) implode pune elementele dintr-un array intr- o variabil

    Forma general:string implode ( string $delimiter, array $components)

    Exemplu:< ?php$array = array('lastname', 'email', 'phone');$a= implode(",", $array);

    echo $a;?>

    Afiare:lastname,email,phone

    f) header - este functia prin care utilizatorul este redirectionat de pe pagina de procesare, pe paginainitiala (adresa poate fi orice pagina.

    Exemplu:

  • 7/29/2019 curs php si mysql

    9/32

    9

    header('location: http://agricolfalticeni.ro');

    Funcii matematice

    a) abs(x) - Returneaza valoarea absoluta a lui 'x'Exemplu:echo abs(-5); // va returna 5

    b) ceil(x)- Returneaza valoarea 'x', rotunjita la ntregul imediat superiorExemplu:echo ceil(5.3);// va returna 6

    c) floor(x)- Returneaza valoarea 'x', rotunjita la ntregul imediat inferiorExemplu:echo floor(5.6);// va returna 5

    d) max(x,y,...)- Returneaza valoarea maxima a unui set de valori Exemplu:echo max(3,5,7,3,8,4,2);// va returna 8e) min(x,y,...)- Returneaza valoarea minima a unui set de valori f) pow(x,n)- Returneaza numarul 'x', ridicat la puterea specificata 'n' g) strftime(f) - Returneaza data curenta, formatata conform continutului parametrului 'f'Exemplu:echo strftime("%A");//va returna Monday

    h) sqrt(x)- Returneaza radacina patrata a lui 'x'i) rand([int_min],int_max)este functia din PHP care genereaza automat numere aleatoare.

    Exemplu:echo rand(2,9);// va afia un numr aleatoriu

    Funcii data/ora) time() - ntoarce timpul curent msurat n numrul de secunde de la 1 ianuarie 197000:00:00 GMT).

    Exemplu:

    echo time(); // returneaza ceva de genul 1268668902

    b) date() returneaza data serverului

    $a = date("j, n, Y"); // 10, 3, 2001

    echo $a;

    FORMULARE

    Formularele reprezint un element principal al site-urilor WEB. Sunt puine site-uri care nufolosesc formulare.

  • 7/29/2019 curs php si mysql

    10/32

    10

    Folosim formulare pentru a transmite si recepiona date. Ele reprezint elementul deinteractivitate cu pagina web.

    Pentru a folosi un vom folosi tag-urile i . ntre aceste tag-uri vor fiintroduse toate elementele formularului.

    Tag-ul are doua atribute importante:ACTIONsiMETHOD.Prin ACTION transmitem browser-ului ce se va nampla cu datele introduse in formular

    Valoarea atributului ACTION poate fi o adresa URL sau poate fi o adresa de email, caz n care datele dinformular vor fi trimise prin email la adresa respectiva.

    PrinMETHOD, se precizeaz metoda de trimitere a datelor. Valoarea implicita a acestui atributeste GET, cu ajutorul acestei metode putand fi trimise cantitati mici de date, cea mai folosita metoda fiindPOST.

    Elementele unui formular

    Elementele unui formular vor fi introduse cu ajutorul tag-ului .Atributele cele mai importante ale acestui tag sunt urmatoarele:- TYPE - tipul elementului- NAME - numele elementului- VALUE - valoarea elementului

    Elementele ale unui formular pot fi:- campurile de editare- butoanele radio- casetele de validare- casetele pentru upload-ul de fisiere- listele de selectie- butoanele submit si reset

    Preluarea datelor din formulare

    1.

    Cod scris n fisierul formular.html Cod scris n fisierul formular.phpUtilizarea casetelor text pentru

    introducerea textului

    PB2: Se introduce un text si se

    afiseaza textul introdus

    Introduceti textul:

  • 7/29/2019 curs php si mysql

    11/32

    11

    type=SUBMIT>

    echo Suma este, $a+$b;

    ?>

    2.

    Cod scris n fisierul formular.html Cod scris n fisierul formular.phpUtilizarea listelor de selectie


    PB3: Se alege o culoare dintr-o lista sise afiseaza culoarea aleasa

    Alegeti o culoare:

    alb

    negru

    verde

    rosu

    maro




    3.

    Cod scris n fisierul formular.html Cod scris n fisierul formular.phpUtilizarea butoanelor radio

    PB4: Ce virsta aveti?

  • 7/29/2019 curs php si mysql

    12/32

    12

    value="copil">SUB 18 ANI

    INTRE 18-50

    PESTE 50

    $a=$_REQUEST[virsta];

    echo "Sunteti ", $a;

    ?>

    4.

    Cod scris n fisierul formular.html Cod scris n fisierul formular.phpUtilizarea butoanelor de

    validate

    PB5: Alegeti produsele dorite

    mere

    pere

    gutui




    5.

  • 7/29/2019 curs php si mysql

    13/32

    13

    Cod scris n fisierul formular.html Cod scris n fisierul formular.phpIntroducerea comentariilor

    PB6: Introduceti un comentariu

    SURSA PROGRAMULUI PHP CARE

    PREIA DATELE DIN ACEST FORMULAR(PB6)




    Module COOKIE

    Modulele cookie conin text pe care il putem stoca pe calculatorul utilizatorului i s -l citim ulterior.Spre deosebire de variabilele obinuite care i pierd valoarea n momentul nchiderii unui program

    php, variabilele cookie i pstreaz valoarea un timp indefinit sau definit de cel care le creeaz. Pentru a seputea pstra, browserul utilizatorului stocheaz variabilele cookie n unitatea de hard-disc a utilizatorului.

    Modulele cookie sunt transmise att de pe server ctre browser ct i de la browser ctre server(astfel prin instalarea unui modul cookie nelegem transmiterea unui modul ctre utilizator iar prin citireaunui modul cokie nelegem transmiterea unui modul cookie ctre server).

    1. Instalarea unei modul cookie

    Pentru instalare se folosete funcia setcookie cu urmtoarea sintax:

    setcookie(numeCookie, valoare, expirare),

    unde:- numeCookie - specifica numele variabilei cookie acre se transmite;- valoare - specific valoarea variabilei care se transmite;- expirare - indic momentul expirarii variabilei cookie (dup ora specificata, variabila cookie nu mai este

    accesibil).

    Observaii:- O variabil cookie se creeaz naintea oricrei alte informaii;- n general, pentru specificarea momentului expirrii se folosete funcia time(), care returneaz intervalul de timp

    (exprimat n secunde) scurs de la 1 ianuarie 1970;- Folosind funcia setcookie se pot transmite mai multe cookie-uri succesiv (maximum 20 numarul cookie-urilor ce

    pot fi trimise aceluiasi utilizator);- argumentul expirare poate lipsi.

    Exemplu:

  • 7/29/2019 curs php si mysql

    14/32

    14

    Fiierul inst_cookie.php:

    Variabila cookie va fi disponibil 2 ore (7200 secunde) de la crearea sa

    2. Citirea unui modul cookie

    Dup ce varianila cookie s-a instalat, aceasta este accesibil la urmtoarea ncrcare a paginii prinmatricea $_COOKIE.

    Valorile variabilelor cookie sunt ncarcate automat n matricea $_COOKIE. Astfel pentru citire estesuficient s verificm coninutul variabilei $_COOKIE[numeCookie].

    Exemplu:

    3. tergerea unui modul cookie

    Un modul cookie va fi ters automat dac i se schimb timpul de expirare. De exemplu:

    setcookie('functie', " ", time() -7200);

    SESIUNI

    Cu ajutorul sesiunilor PHP retine informaii de la o pagina la alta.Dup crearea unei sesiuni informaia se pstreaz pana la nchiderea browser-ului, sau pn cand utilizatoru

    distruge sesiunea curenta.

    Sesiunile au urmtoarele avantaje:- permit stocarea unui volum mai mare de informaii comparativ cu cookie-urile- pot fi folosite chiar daca browserul utilizatorului nu suporta cookie-uri sau daca acestea sunt dezactivate.

    Initializarea unei sesiuni se face cu funcia session_start() care trebuie s fie printre primele linii decod dintr-un script PHP, deoarece apelul acestei ei trebuie fcut nainte de trimitea ctre browser-ul Web a unui codHTML.

    Exemplul 1: Parolarea unei pagini php utiliznd sesiuni

    Fisierul de start index.php conine codul:

  • 7/29/2019 curs php si mysql

    15/32

    15

    restul codului fiierul index.php

    Fierul sesiune.php conine codul:

    Fisierul parola.php conine codul:

    Fiierul logare.php conine codul:

    Parola :

    Fiierul logout.php conine codul:

  • 7/29/2019 curs php si mysql

    16/32

    16

    Exemplul 2: Contor de vizitare afiseaza de cte ori s-a vizitat o pagin

    Utilizarea protocolului FTPProtocolul FTP este util pentru realizarea transferurilor de fisiere la distanta. Pentru a putea fi

    utilizat din PHP va trebui activate optiunea FTP la instalarea serverului PHP.

    A. Conectarea la serverul FTP

    Pentru conectare se folosete funcia:

    ftp_connect(gazda, [port, [timeout]])

    unde:- gazda - este adresa ftp la care ne conectm- port portul pe care se face conectarea (este opional. Portul implicit este 21)- timeout durata maxima ct se ateapt pn la conectare (opional. Implicit 90 secunde)Dupconectare va trebui s ne identificm (logm). Acest lucru l facem utiliznd funcia:

    ftp_login(flux_ftp, nume_utilizator, parola)

    Exemplu:

  • 7/29/2019 curs php si mysql

    17/32

    17

    ?>

    B. Afiarea listei de fiiere dintr-un director

    Pentru afiare vom folosi funcia:

    ftp_nlist(flux_ftp, nume_director)

    Aceast funcie returneaz matricea de nume de fiiere din directorul specificat

    Exemplu:

    C. Descrcarea unui fiier

    Pentru descrcare vom folosi funcia:

    ftp_get(flux_ftp, nume_fiier_local,nume_fiier_la_distan,mod)

    Fiierul de pe server (fiier_la_distan) este salvat local nu numele fisier_local ntr-un modspecificat: FTP_ASCII sau FTP_BINARY.

    Exemplu:

  • 7/29/2019 curs php si mysql

    18/32

    18

    $result=ftp_get($connect,fisier.doc,fis1.doc,FTP_ASCII);ftp_close($connect);

    ?>

    D.ncrcarea unui fiier pe server

    Se face utiliznd funcia

    ftp_put(flux_ftp, nume_fiier_local,nume_fiier_la_distan,mod)

    LUCRUL CU FIIERE IN PHP

    Folosind php-ul se pot executa anumite operaii asupra fiierelor aflate pe server cum ar fi: fopen() = deschide fisierul indicatfclose() = inchide fisierulfread() = citeste continutul fisieruluifwrite() = scrie in fisier

    filesize() = indica dimensiunea fisierului

    Sintaxa funciei fopen() este:fopen(param1, param2);param1 = fiierul, calea ctre fiier sau adresa fiierului care va fi deschisparam2 = modul in care va fi deschis fiierul, si poate avea valorile:

    Exemplu: fopen('fisier.html',"w")

    r = fiier deschis doar pentru citire

    r+ = fiier deschis doar pentru citire si scriere w = fiier deschis doar pentru scrierew+ = fiier deschis pentru citire si scriere iar daca nu exista fiierul l creeaza = fiier deschis pentru adugare la sfrita+ = fiier deschis adugare la sfrit iar daca nu exista fiierul l creeaz t = fiier deschis in mod textb = fiier deschis in mod binarsau combinaii ale acestora.

    Baze de date - noiuni introductive

    Bazele de date sunt colecii de date, aranjate ntr-o anumit form, asupra crora se pot facediferite operaii ca:

    - Crearea bazei de d ate;- Conect area la baza de dat e;- Inserarea datelor in b aza de date;- St ergerea datelor din baza de dat e;

  • 7/29/2019 curs php si mysql

    19/32

    19

    - Adaugarea sau m odi f icarea date lor;n general, o baz de date este alctuit din una sau mai multe tabele, ntre acestea putndu-se

    stabili diferite relaii. Acest lucru ofera bazei de date proprietatea de baz de date relaional.Un tabel este alctuit din coloane (numite cmpuri) i rnduri (numite nregistrri).Pentru implementarea unei baze de date este nevoie de un s is tem de gest iune a bazelor de

    dat e(SGBD). Exem ple de ast fel de SGBD-ur i:- M icrosoft Access;

    - Visual Foxpro ;- M ySQL;- Oracle;- etc.Vom studia SGBD MySQL. Dei este folosit foarte des mpreun cu limbajul de programare PHP,

    cu MySQL se pot construi aplicaii n orice limbaj major. Exist multe scheme API disponibile pentru

    MySQL ce permit scrierea aplicaiilor n numeroase l imbaje de p rogram are pent ru accesarea bazelor d edat e M ySQL, cum are f i: C, C++, C#, Borlan d Delp hi, Java, Perl, PHP, Pyt ho n, FreeBasic, etc., f iecare d int reacestea folosind un tip spefic API. O interfa de tip ODBC denumit MyODBC permite altor limbaje de

    programare ce folosesc aceast interfa, s interacioneze cu bazele de date MySQL cum ar fi ASP sauVisual Basic . n spr i j inu l acestor l imbaje de programare, unele compani i produc componente de t ipCOM / COM + sau .NET (pentru W indow s) pr in in te rm ediu l crora respetivele limbaje s poat folosi acestSGBD mult mai uor dect prin intermediul sistemului ODBC. Aceste componente pot fi gratuite (ca de

    exemplu M yVBQL) sau com erc ia le (h t tp : / / ro .w ik iped ia .o rg /w ik i /MySQL).

    Administrarea sistemului MySQL se poate face fie din linia de comand fie folosind aplicaiaPHPMyAdmin.

    http://ro.wikipedia.org/wiki/MySQL).http://ro.wikipedia.org/wiki/MySQL).
  • 7/29/2019 curs php si mysql

    20/32

    20

    Cel mai important mod de administrare a unei baze de date n MySQL este ns cel dat de PHP,folosind formulare.

    Comenzile uzuale folosite n general att n MySQL ct si n celelalte SGBD-uri sunt:

    - CREATE creaz o baz de date i/sau un tabel- DROP - terge o baz de date i/sau un tabel- INSERT adaug nregistrri(linii) ntr-un tabel- DELETE - terge nregistrri(linii) ntr-un tabel- UPDATE modific nregistrrile dintr-un tabel- SELECT selecteaz nregistrrile dintr-un tabel- ALTER - modific proiectul unui tabel dup ce acesta a fost creat cu instruciunea CREATE

    TABLE

    Tipur i de date fo los i te n M ySQL(o parte d in e le):- In t numr ntreg

    - Char seciune cu lungime fix de max. 255 caracter- Varchar seciune variabil de max 255 caractere- Float numr real mic- Double numr real mare- Text i de maxim 65535 caractere- Date data im form at an- luna-z i- Time ora in format or-m in u t -secund

  • 7/29/2019 curs php si mysql

    21/32

    21

    Crearea unei baze de date n MySQL

    Comanda folosit pentru creare unei baze de date, scris n linia de comand a MySQL este:CREATE DATABASE numele_bazei;

    Expl: create database elevi;

    Obs: orice comanda scris n linia de comand este terminat de ;

    n continuare va trebui selectat baza de date (exist posibilitatea s avem mai multe baze dedate). Acest lucru se face cu com anda USE numele_bazei_de_date;

    Expl: use elevi;

    O baz de date poate conine una sau mai multe tabele. Pentru crearea unei t abele vom fo loscomanda:

    CREATE TABLE nume tabela (nume_camp1 tip_camp1, nume_camp2 tip_camp2,.nume_campn tip_camp_n);

    Expl:

    Create table t1 (nume text, nota int);

    Vizualizarea bazelo r d e dat e se face cu com and a SHOW DATABASES;Al te com enzi:SHOW TABLES; - afiseaza tabelele existente in baza curenta

    SHOW COLUMNS FROM nume_tabela; - afiseaza informatii despre coloanele unui table

    DROP TABLE nume tabel; - sterge tabelul numit 'tabel_unu'

    DROP DATABASE numele_bazei; - sterge baza de date cu numele 'numele_bazei'

    Pentru crearea unei tabele cu ajutorul scriptului PHP va trebui mai inti sa ne conectm la baza

    de date (vom fo los i f is ieru l conexiune.php). Pentr u exem pl i f icare vom crea urm atoru l tabel :n u me n o ta

    Ionescu 8

    Popescu 7

    Vasilescu 8

    Georgescu 9

  • 7/29/2019 curs php si mysql

    22/32

    22

    Observaii:

    Asupra coloanelor se pot apl ica unele restr ict i i ca:UNSIGNED-nu vor m ai f i valor i negative ci vor incepe d e la 0.AUTO_INCREM ENT funct io neaza cu or ice t ip int reg. La f iecare rand nou adaugat in b aza de date num arul asociatva f i increm enta t .

    NU LL- fara valoare (dif erit d e spatiu sau zero ).NOT NULL - orice inre gistrare va fi consider ata ceva.Expl:........................$tab le=" CREATE TABLE t1(id in t(3) N OT NU LL AUTO_INCREM ENT, num e varchar(20 ) NOT NU LL , not a flo at N OTNULL)...........................................

    Conectarea la o b aza de date n M ySQL

    Pentru conectarea la o baza de date vom folosi urmatorul script (pentru a-l putea utiliza i n alteaplicaii il vom salva cu numele conexiune.php ):

    nlocuind bineneles hostul, user-ul i parola dac este cazul

  • 7/29/2019 curs php si mysql

    23/32

    23

    - m ysql_connect() - este funct ia pr in care ne conectam la serveru l M ySQL

    - $conexiune - va avea o valoarea TRUE sau FALSE fun ct ie d e rezult atu l conectari i la serveru l M ySQLfo losind funct ia m ysql_connect()

    - my sql_select_db - este fun ct ia care stab i leste b aza de dat e la care ne vom conecta

    Putet i m odi f ica var iab i lele d in f isieru l conexiune.php in fun ct ie de conf igurar i le prop r ie i baze de date:$hostname=adresa serveru lu i , de ce le m ai m ul te or i este loca lhost$usernam e=usernam e-u l de conectare la baza de date$passw ord = parola de conectare la baza de date$datab ase=num ele bazei de date

    m ysql_close($conexiune); - inchide baza de date

    Inserare a dat elor ntr -o tabel din MySQL

    Pentru inserarea datelor ntr-o tabela din MySQL vom utiliza un formular scris n HTML i unfiier PHP.

    Instruciunea folosit pentru inserare este INSERT, cu urmtoarea sintax:

    INSERT INTO nume_tabel (coloana1, coloana2,..., coloanan) values('valoare1', 'valoare2', . . . , 'valoaren');

    Exemplif icnd:

    INSERT INTO nume_tabel (camp1, camp2, camp3) VALUES (valoarea1, valoarea2, valoarea3);

    Aceast instruciune va introduce in tabelul cu numele 'tabel', in 'camp1' 'valoarea1', in 'camp2''valoarea2' si in 'camp3' 'valoarea3'. Tabelul arat astfel:

    camp1 camp2 camp3valoarea1 valoarea2 valoarea3

    Observaie: Se poate omite una din coloane la inserare.

    INSERT INTO nume_tabel (camp1, camp2) VALUES (valoarea1, valoarea2);

    sau:INSERT INTO tabel VALUES (valoarea1, valoarea2, valoarea3);

    daca introducem valori in toate campurile tabelului

    Exemplu de introducere a datelor in tabela t1 din baza de date elevi folosind unformular (tabela t1 are cmpurile numei nota):

  • 7/29/2019 curs php si mysql

    24/32

    24

    Exemplu de fomularAdaugare dateNume:
    Nota:

    Rezultatu l este:

    / * f is ie ru l in serare.p hp * /

  • 7/29/2019 curs php si mysql

    25/32

    25

    mysql_close($conexiune);?>

    Rezultatu l este:

    Afisarea dat elor dintr-o tabel din MySQL

    Afiarea datelor dintr-o tabel se face utiliznd comanda SELECT (n linia de comand) cu unadin urmtoarele structuri, n funcie de ceea ce ne-am propus:

    SELECT * FROM t abel ; - afieaz tot ce exist n tabela tabelSELECT cam p1 FROM tab el; - afieaz coninutul cmpului campul1 din tabelul tabelSELECT cam p1 , cam p2 , .., cam pn FROM t abel afieaz coninutul mai multor cmpuri din tabelu

    tabel SELECT * FROM t abel W HERE cam p1 = val1 ; - afieaz toate cmpurile cu valoarea val1SELECT cam p1, cam p2 FROM t abel W HERE cam p2 LIKE val2 ; - afieaz toate nregistrrile n care

    camp2 este asemntor cu val2SELECT cam p1 , cam p2 FROM t abel W HERE cam p2 LIKE val2 %; - afieaz toate nregistrrile n carecam p2 ncepe cu val2

    SELECT cam p1 , cam p2 FROM t abel W HERE cam p2 LIKE %val2 ; - afieaz toate nregistrrile n carecamp2 se termin cu val2

    SELECT * FROM t abel W HERE cam p1 =val1 AN D cam p2 LIKE %val2 %; - afieaz toate cmpurile careconin val1 i se asemn cu val2

    SELECT camp 1, cam p2,.camp n FROM tab el W HERE cam p1 ! = val3; - afieaz toate cmpurile caredifer de val3

    SELECT cam p1 FROM t ab el ORDER BY cam p1 ASC; - afieaz coninutul cmpului camp1 n ordinecresctoare

    SELECT cam p1, cam p2 FROM tab el ORDER BY cam p1 ASC, camp 2 DESC; - afieaz coninutul camp1 nordine cresctoare i camp2 n ordine descresctoare.

    SELECT coun t(* ) FROM t abel ; - afieaz cte nregistrri sunt n tabelSELECT cam p1 FROM t abe l GROU P BY cam p1 ORDER BY cam p1 ASC; - afieaz coninutul camp1

    grupat dup camp1SELECT * FROM t abel LIM IT 0,3; - afieaz din tabel ncepnd de la prima nregistrare nc 3.

    Observaie: Comanda SELECT este una din cele mai folosite comenzi n MySQL

  • 7/29/2019 curs php si mysql

    26/32

    26

    Pentru afisarea datelor dintr-o tabela din MySQL utiliznd PHP vom utiliza sintaxa:

    $afisare=mysql_query("SELECT * FROM nume_tabel");

    Pentru afisarea fiecrui rand din tabel vom folosi o bucla while si comandamysql_fetch_row .

    Exemplu de afiare a datelor dintr-o tabela (vom lua drept exemplu tabela t1 pe care amfolosit-o i n capitolul anterior):

    Observaie1:

    Comanda SELECT permite i anumite restricii date prin clauza WHERE. Exemplu dacdorim s afism toatele numele care au nota 9:

    Observaia2: Funcia mysql_num_rows($af isare) returneaz numarul de linii continutede baza de date.

    M odi ficarea dat e lor d intr -o tabel din MySQL

    Pentru modificarea coninutului unei nregistrri fr a terge acea nregistrare vom utilizasintaxa:

    UPDATE tabel SET coloana1='noua valoare a coloanei 1', coloana2='noua valoare a coloanei 2. coloanan=noua valoare a coloanei n WHERE conditii;

  • 7/29/2019 curs php si mysql

    27/32

    27

    Se vor modifica nregistrrile care respect condiia dat n WHERE.Exemplu: Fie tabela t1 care are urmatoarea structura:

    nume nota

    ionel 9ionela 5

    Ionescu 7

    Daca dorim sa modificam nota persoanei cu numele Ionescu vom scrie(n linia decomand):

    UPDATE t1 SET nota=10 where nume=Ionescu;

    Rezultatul este:nume nota

    ionel 9ionela 5

    Ionescu 10ionel 10

    Modificarea nregistrrilor folosind un formular i un fiier php:

    Expl.: n tabela t1 de mai sus, dorim s modificam numele unei personae folosind unformular sub forma:

    Dac modificarea se face vom afia:Modificare efectuat, altfelModificare neefectuatrezultatul fiind:

    nume nota

    vasilica 9ionela 5

    Ionescu 10

    vasilica 10

    Cele dou fiiere(html i php) vor fi:Update.html

    Num ele pe care dor i t i sa-l m od i f ica t i : < input type=" text" name="num ev">
    Num ele cu care dor i t i sa-l m od i f ica t i : < input type=" text" name="num en">< / f o r m >< / h t m l >

    Update.php

  • 7/29/2019 curs php si mysql

    28/32

    28

    $query=" UPDATE t1 SET num e='$num en' W HERE num e='$num ev'";

    $checkresul t = m ysql_query($query);

    if ($checkresult) {echo " M od i f icare e fectua ta" ;} else {echo " M od i f icare neefectua ta" ;}mysql_close();?>Observaie: Modificarea se va face n toate nregistrrile tabelului

    Stergerea nregistrrilor dintr-o tabel din MySQL

    Pentru a terge anumite nregistrri dintr-o tabel vom utiliza sintaxa:

    DELETE FROM tab el W HERE con dit ii;

    Se vor terge nregistrrile care respect condiia dat n WHERE.

    Exemplu: Fie tabela t1 care are urmatoarea structura:nume nota

    ionel 9ionela 5

    Ionescu 10

    Daca dorim sa stergem persoana cu numele Ionescu vom scrie(n linia de comand):

    DELETE FROM t1 WHERE nume=Ionescu;

    Rezultatul este:nume nota

    ionel 9ionela 5

    tergerea nregistrrilor folosind un formular i un fiier php:

    Expl.: n tabela t1(iniial) de mai sus, dorim s tergem nregistrarea care are nota 10folosind un formular sub forma:

    Dac modificarea se face vom afia: tergere efectuat, altfel tergere neefectuatrezultatul fiind:

    nume nota

    ionel 9Ionela 5

  • 7/29/2019 curs php si mysql

    29/32

    29

    Cele dou fiiere(html i php) vor fi:delete.htmlSterg inregistrarea care are nota:
    < / f o r m >< / h t m l >

    delete.php

  • 7/29/2019 curs php si mysql

    30/32

    30

    $conexiune=mysql_connect($host,$user)or die("nu s-a contectat");$bazadate=mysql_select_db($database,$conexiune)or die("nu s-a conectat la baza de date");?>

    2. creare.html

    creare.php


    inserare.html

    inserare.php

  • 7/29/2019 curs php si mysql

    31/32

    31

    mysql_close($conexiune);

    ?>



    afisare.html

    afisare.php

    modificare.html

    modificare.php

  • 7/29/2019 curs php si mysql

    32/32

    stergere.html

    stergere.php