Php mysql3
Embed Size (px)
Transcript of Php mysql3
-
Php e MySQL
Ugo Rinaldi - 2010-2016
-
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à:
-
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