Php mysql3

Click here to load reader

  • date post

    12-Apr-2017
  • Category

    Education

  • view

    105
  • download

    0

Embed Size (px)

Transcript of Php mysql3

  • Php e MySQL

    Ugo Rinaldi - 2010-2016

    [email protected]

  • PHP Hypertext Preprocessor

    Motore di scripting (eseguiti sul server)Sintassi C-likePiattaforme diverseLinguaggio potente, ricco di funzioniConnessione a databaseModulo del Web Server...modulo CGI

  • A cosa vogliamo arrivare

    PhpMysqlPhp + Mysql >>> Applicazioni web dinamiche

  • Pagine statiche

    Html = pagine statiche

    Javascript migliora molto la dinamicit client

    Necessario aggiornare contenuti e dati

  • Web Server

    Una applicazione server: Apache, IIS, ...Riceve richieste clientInteragisce con altre applicazioni serverDetermina ed invia al client risposta con dati e/o

    codice HTML

  • Cosa serve

    Xampp: Download Installazione Prova

    Editor di testoBrowser

  • Dal server Php

  • al Client

  • Iniziamo con Php

    Il tag per inserire codice php:

    Per scrivere nella pagina:echo Hello World!

    Print(......)Nomi variabili:

    $a, $b, $importoCostanti

    define("COSTANTE", "Ciao mondo.");

  • I cicli

    while($i>0) { echo i vale $i; }

    do { echo "$i \n";

    $i++;

    } while ($i < 10);

    for ($i=-5; $i < 5; $i++) { echo "$i \n"; }

  • Variabili Stringa

    $s=Linkin Park;print(stringa = $s);for ($i=0; $i

  • Caratteri speciali tra apici

    \' singolo apice\ doppio apice\\ backslash\r ritorno a capo\n nuova linea\t tabulazione orizzontaleDa usare dentro una stringa tra singoli o doppi apiciesempio: Marta disse: \Firenze lo sa\\n\r

  • Operatori

    Operatori aritmetici+ - * / % ++ Operatori di assegnamento+= -= *= /= %= &=Operatori relazionali== === < >= != !==Operatori logici&& AND || OR XOR !

    $a%=$b equivale a $a=$a%$b

  • Flusso di controllo

    if ($saldo==0) {;

    } else {...;

    }

    if ... elseif else ...

  • Operatore ternario

    Condizione ?cosa fare per vero ? Cosa fare per falso

    Esempio

  • Flusso di controllo

    if ($saldo==0) {;

    } else {...;

    }

    if ... elseif else ...

  • switch e break

    Switch ($scelta) {

    case + : $r=$a+$b;break;

    case - : $r=$a-$b;break;

    case * : $r=$a*$b;break;

    case / : $r=$a/$b;

    break;default : echo operatore errato!;

    }

  • foreach

    Ciclo su tutti gli elementi di un array (utile soprattutto per la visita di array associativi)

    $a=array(ieri,oggi,domani,dopodomani);foreach($a as $ele) {

    print($ele );

    }

  • break continue - exit

    break :Permette l'uscita da qualsiasi ciclo

    continue :Salta all'inizio del ciclo per l'iterazione successiva

    exit :Interrompe completamente l'esecuzione dello script

  • try catch (MyException $e) ...

    try { // istruzione che puo' causare errore} catch (Exception $e) { // istruzioni in caso di errore}

  • Funzioni

    Per dichiarare la funzione

    function somma($a, $b) {

    $c=$a+$b;return $c;

    }

    per richiamarla

    $somma=somma($val1,$val2);

    Oppure ancheprint(la somma e' : .somma($val1,$val2).);

  • Visibilit Variabili

    Sono LOCALI le variabili dichiarate in una funzione

    global nomevariabileattiva l'uso di una variabile definita esternamente

    static $contatore=0Dichiara una variabile locale assegnando un valore non

    reinizializzato nelle successive esecuzioni

  • Parametri di una funzione utente

    Passati per valore es: function swap($a,$b) {}O per riferimento es: function swap(&$a,&$b) {}

    Valore di default es: function swap($a,$b=0) {}

    Funzioni con numero variabile di argomenti:...func_num_args() e func_get_arg($i)

    ...esempio fattoriale e funzioni dinamiche

  • ArrayDichiarazioni di array:$contatti [];$nomi[0]=Marcincus;$cd[]=Metallica;

    $vocali=array(a,e,i,o,u);$vocali[]=y;

    ...esempio array

  • Array associativi

    Fondamentali in PHPNon usano numeri per puntare agli elementiUsano stringhe

    $clienti[nome]=Rossi Mario;$clienti[provincia]=Catania;$clienti[telefono]=095-454545;

    $cd=array(Autore=>Springsteen, Titolo=>The River, Anno=>1980);

  • Variabili predefinite Php

    $_GET$_POST$GLOBALS$_SERVER...$_SESSION

  • Le SessioniLa sessione il modo pi semplice per seguire un utente dal

    momento in cui si collega a quando interrompe il collegamento internet.

    Il server apre una sessione con la funzione session_start() e gli assegna un nome univoco.

    Le variabili di sessione sono memorizzate in un array globale di nome $_SESSION[]

    Deposita un cookie nella macchina dell'utente e ogni volta che ne ha bisogno, ne estrae i dati per risalire alla sessione e al file salvato.

    Iniziare la sessione con session_start() prima di ogni altro output del server. NESSUNA funzione di uscita deve precederla, neppure il codice HTML!!

  • Session: funzioni e codici

    session_start(); // apre una sessione

    $_SESSION['nomevariabile']; //crea l'array globale che contiene tutte le variabili di sesssione.

    session_unset(); //distrugge le variabili sessione.

    session_destroy(); //distrugge una sessione

    session_set_cookie_params(); //imposta i secondi di inattivit oltre i quali la sessione cancellata

  • Session: un esempio

    ......

  • Session: l'esempio in una pagina successiva

  • Invio dati da un form HTML

    Nominativo: Email: Citt&agrave:

  • Ricezione dati

    Il server ricever i valori inviati dal form in un vettore di sistema chiamato $_REQUEST

    $a=$_REQUEST[nome];$b=$_REQUEST[email];$c=$_REQUEST[citta];

  • Esercizio - Client

    Creare un form perla selezione di una categoria di fornitori da una list

    boxGenerare 2 numeri interi compresi tra 1 e 100

    (longitudine e latitudine)Inserimento/modifica dei numeri generatiInserimento dell'email utenteInvio delle 4 informazioni a ricerca.php

  • Esercizio - Server

    Leggere un file di testo fornitori.txtPer i soli record con categoria uguale a quella

    selezionata dal Client calcolare la distanza minima tra le coordinante client e quelle del fornitore

    Visualizzare i dati del fornitore piu' vicino alla posizione del client

  • MySQL

    Potente database SQLUtilizzato nella maggioranza dei siti dinamici sul webDownload dell'ultima versione dal sito Oracleoppure download XAMPPPerfettamente integrabile con Apache e Php

  • Panoramica Sql

    Select - usata per interrogare 1 o pi righeInsert - usata nei nuovi inserimenti di rigaUpdate - usata per modificare 1 o pi righeDelete - usata per eliminare 1 o pi righe

    http://127.0.0.1/mobile/registra.php

  • PDO: Connessione a server e DB

    Esempio

  • PDO: Interrogazione di un DB

    $sql="SELECTid,nameFROMnodes";$rs=$con->query($sql);

    echo'';foreach($rsas$row){

    echo$row['id']."-";echo$row['name']."";

    }

  • PDO: query con parametri

    //preparazionedellaquery$sql=$con->prepare("SELECTid,nameFROMnodesWHEREgraph=:par1");

    $grafo=1;$sqlbindParam(':par1',$grafo,PDO::PARAM_INT);

    //PDO::PARAM_STR,3);$sql->execute();$rs=$sql->fetchAll();foreach($rsas$row){echo$row['id']."-";echo$row['name']."";

    }

  • PDO: modifica e cancellazione

    //UpdateallrowsfromtheFRUITtable//Returnnumberofrowsthatwereupdated$count=$dbhexec("UPDATEfruitSETprize=0");print("Deleted$countrows.\n");

    //DeleterowsfromtheFRUITtable//Returnnumberofrowsthatweredeleted$count=$dbh->exec("DELETEFROMfruitWHEREcolour='red'");print("Deleted$countrows.\n");

  • mysql: Interrogazione di un DB

    $cs=mysql_connect(localhost, marta, pippo)si connette al server

    mysql_select_db(rubrica, $cs)apre il database

    mysql_close($cs);chiude la connessione

    $recSet=mysql_query("select * from rubrica", $cs);esegue la query

    $line=mysql_fetch_array($recSet)copia il record puntato in un array associativo

    mysql_free_result($recSet);libera la memoria dal record set

  • mysql: Interrogazione di un DB$cs=mysql_connect(localhost, marta, pippo)

    si connette al servermysql_select_db(rubrica, $cs)

    apre il database

    mysql_close($cs);chiude la connessione

    $recSet=mysql_query("select * from rubrica", $cs);

    while ($line=mysqli_fetch_array($recSet)) { echo $line['id']."-". $line["descrizione"].""; }

  • mysql: Inserimento riga in una tabella

    $cs=mysql_connect(localhost, pippo, miapassword)si connette al server

    mysql_select_db(rubrica, $cs)apre il database

    mysql_close($cs);chiude la connessione

    $recSet=mysql_query("insert into tabella (campo1,) values (val1,...)", $cs);

  • mysql: Modifica righe in una tabella

    $cs=mysql_connect(localhost, pippo, miapassword)si connette al server

    mysql_select_db(rubrica, $cs)apre il database

    mysql_close($cs);chiude la connessione

    $recSet=mysql_query("update tabella set campo1=xxx, campo2=yyy...", $cs);

  • mysql: Eliminazione righe da tabella

    $cs=mysql_connect(localhost, pippo, miapassword)si connette al server

    mysql_select_db(rubrica, $cs)apre il database

    mysql_close($cs);chiude la connessione

    $recSet=mysql_query("Delete tabella where id=$_REQUEST['id']", $cs);

    Diapositiva 1Diapositiva 2Diapositiva 3Diapositiva 4Diapositiva 5Diapositiva 6Diapositiva 7Diapositiva 8Diapositiva 9Diapositiva 10Diapositiva 11Diapositiva 12Diapositiva 13Diapositiva 14Diapositiva 15Diapositiva 16Diapositiva 17Diapositiva 18Diapositiva 19Diapositiva 20Diapositiva 21Diapositiva 22Diapositiva 23Diapositiva 24Diapositiva 25Diapositiva 26Diapositiva 27Diapositiva 28Diapositiva 29Diapositiva 30Diapositiva 36Diapositiva 37Diapositiva 38Diapositiva 39Diapositiva 40Diapositiva 41Diapositiva 42Diapositiva 43Diapositiva 44Diapositiva 45Diapositiva 46Diapositiva 47Diapositiva 48Diapositiva 49Diapositiva 50