Php mysql3

download Php mysql3

of 45

  • date post

    12-Apr-2017
  • Category

    Education

  • view

    104
  • download

    0

Embed Size (px)

Transcript of Php mysql3

  • Php e MySQL

    Ugo Rinaldi - 2010-2016

    ugo.rinaldi@gmail.com

  • 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