Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Database e istruzioni MySQL: Esercizi pratici per la gestione dei dati, Appunti di Elementi di Informatica

Appunti di informatica su Mysql

Tipologia: Appunti

2019/2020

Caricato il 02/01/2020

sara-sartin-1
sara-sartin-1 🇮🇹

4.5

(22)

36 documenti

1 / 8

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
23/10/18
PHP: Database e istruzioni MySQL
13.11 prova parziale
Si possono spuntare più checkbox. Se non viene creata una chiave nella variabile post o get non appare nel lato server
In altri casi anche se l’utente non inserisce un valore la chiave compare nell’array associativo
Nel caso di textbox, radio button (qualche volta potrebbe non avere una scelta; chi scrive il form nell’html esiste un attributo che permette di
selezionare già uno dei due per indicare una scelta iniziale) e text area, la funzione più indicata è empty e non isset (verifica se nella variabile è
presente quella chiave)
Nel caso della checkbox, isset funziona ed è il metodo più corretto. Se all’interno della chiave interesse non c’è, isset risulta falso.
Se il server non vede quello che si manda come client bisogna usare una print_r
Elaborazione lato server:
Esercizio 2.1
Si crei uno script PHP che, ricevuta con metodo GET o POST una stringa da elaborare, esegua le seguenti elaborazioni:
- se la stringa immessa ha lunghezza maggiore di 5, ne stampi la sottostringa iniziale di lunghezza 5 (si usi la funzione substr del
linguaggio PHP ) bisogna contare caratteri, vedere lunghezza stringa, e stampare una sottostringa
- conti le occorrenze di una seconda stringa, anch'essa data (si usi la funzione sub-str count del linguaggio PHP ) inviare 2 stringhe e
vedere se ci sono occorrenze della prima stringa nella seconda. Si usa stringa count
- sostituisca tutte le occorrenze della seconda stringa con una terza stringa data (si usi la funzione substr replace del linguaggio
PHP ) replace accetta 3 stringhe in input, una da cercare, una da sostituire quella cercata e una più ampia in cui fare questa ricerca.
Esercizio 2.9
Modificando l'esercizio 2.1, si crei uno script che accetta del testo ed una parola da cercare nel testo, e restituisca in una pagina html il testo
con tutte le occorrenze della parola trovata evidenziate in giallo.
Suggerimento: si ricordi che per modificare le proprietà del font è disponibile il tag "FONT". Ad esempio, per evidenziare in giallo la parola
"testo": <FONT style="BACKGROUND-COLOR: yellow">testo</FONT>.
StrSearch.php è una risorsa con istruzioni di elaborazione del testo
Basta sostituire ad ogni parola la parola stessa con del codice di tagging
<?php
If(strlm($_POST[“testo”])<10) { //possiamo scegliere noi il vincolo di lunghezza minimo. In questo caso la stringa deve essere
minore di 10
//si può interrompere una stringa di esecuzione con un messaggio
Echo “testo troppo corto”;
//istruzione che blocca esecuzione del programma
die(“riprova”);
//se non voglio eseguire il resto dello script fino alla chiusura di php uso una funzione di uscita e di interruzione del codice che blocca die
che accetta stringa di messaggio in modo che prima di morire l’interprete stampa il messaggio.
} else {$testo=$_POST[“testo”];
}
//ora faccio stessa cosa con stringa di ricerca
If(!empty($_POST[“srchstr”]);
$str=$_POST[“srchstr”];
//fino a questo punto abbiamo fatto verifiche sull’input e si hanno i due elementi per l’elaborazione la variabile testo e la variabile stringa
che è quella da cercare
//ora dobbiamo costruire la parola da sostituire al posto della parola cercata. È qualcosa che conterrà la parola di partenza ma che dovrà
essere incastonata in un tag di evidenziamento del font
pf3
pf4
pf5
pf8

Anteprima parziale del testo

Scarica Database e istruzioni MySQL: Esercizi pratici per la gestione dei dati e più Appunti in PDF di Elementi di Informatica solo su Docsity!

PHP: Database e istruzioni MySQL

13.11 prova parziale

Si possono spuntare più checkbox. Se non viene creata una chiave nella variabile post o get non appare nel lato server

In altri casi anche se l’utente non inserisce un valore la chiave compare nell’array associativo

Nel caso di textbox, radio button (qualche volta potrebbe non avere una scelta; chi scrive il form nell’html esiste un attributo che permette di selezionare già uno dei due per indicare una scelta iniziale) e text area , la funzione più indicata è empty e non isset (verifica se nella variabile è presente quella chiave)

Nel caso della checkbox , isset funziona ed è il metodo più corretto. Se all’interno della chiave interesse non c’è, isset risulta falso.

Se il server non vede quello che si manda come client bisogna usare una print_r

Elaborazione lato server:

Esercizio 2.

Si crei uno script PHP che, ricevuta con metodo GET o POST una stringa da elaborare, esegua le seguenti elaborazioni:

  • se la stringa immessa ha lunghezza maggiore di 5, ne stampi la sottostringa iniziale di lunghezza 5 (si usi la funzione substr del linguaggio PHP ) bisogna contare caratteri, vedere lunghezza stringa, e stampare una sottostringa
  • conti le occorrenze di una seconda stringa, anch'essa data (si usi la funzione sub-str count del linguaggio PHP ) inviare 2 stringhe e vedere se ci sono occorrenze della prima stringa nella seconda. Si usa stringa count
  • sostituisca tutte le occorrenze della seconda stringa con una terza stringa data (si usi la funzione substr replace del linguaggio PHP ) replace accetta 3 stringhe in input, una da cercare, una da sostituire quella cercata e una più ampia in cui fare questa ricerca.

Esercizio 2.

Modificando l'esercizio 2.1, si crei uno script che accetta del testo ed una parola da cercare nel testo, e restituisca in una pagina html il testo con tutte le occorrenze della parola trovata evidenziate in giallo.

Suggerimento: si ricordi che per modificare le proprietà del font è disponibile il tag "FONT". Ad esempio, per evidenziare in giallo la parola "testo": testo.

StrSearch.php  è una risorsa con istruzioni di elaborazione del testo

Basta sostituire ad ogni parola la parola stessa con del codice di tagging

//istruzione che blocca esecuzione del programma die(“riprova”); //se non voglio eseguire il resto dello script fino alla chiusura di php uso una funzione di uscita e di interruzione del codice che blocca  die che accetta stringa di messaggio in modo che prima di morire l’interprete stampa il messaggio.

} else {$testo=$_POST[“testo”]; }

//ora faccio stessa cosa con stringa di ricerca If(!empty($_POST[“srchstr”]); $str=$_POST[“srchstr”]; //fino a questo punto abbiamo fatto verifiche sull’input e si hanno i due elementi per l’elaborazione la variabile testo e la variabile stringa che è quella da cercare

//ora dobbiamo costruire la parola da sostituire al posto della parola cercata. È qualcosa che conterrà la parola di partenza ma che dovrà essere incastonata in un tag di evidenziamento del font

$str_repl=’’.$str.’’;

//ora aiutandomi con la funzione str replace sostituisco $nuovo_testo=str_replace($str,$str_repl,$testo); 1 stringa cercata, 2 stringa da sostituire, echo $nuovo_testo; //viene riportato testo di partenza con parola cercata che risulta gialla

Database systems: web applications

Le applicazioni del server Web possono accedere a DataBase Management Systems (DBMS) per archiviare / recuperare i dati da elaborare

I client istanziano delle richieste ad un server , il quale genera una replay e genera dinamicamente una pagina con un application, inviando poi la risposta al client.

Il database può contenere vari dati, anagrafici, geografici, legati a un contesto indicativo, ecc… Questa componente ha 2 frecce per evidenziare il fatto che il db può servire come contenitore di informazioni a cui attingere per: completare l’esecuzione di app, come completare il contenuto di un form, fornire al client richiesta o dei dati contenuti nel database, andare a cercare i dati e riportarli come output all’utente.

L’ app può aggiornare database con dati inviati al server (nome indirizzo, appuntamento in un agenda, ecc…). Riceve il dato che aggiunge al database e avvisa l’utente che l’operazione è stata completata. Il database ha la duplice funzione di un serbatoio di informazioni che il server può usare per completare una pagina di informazione oppure può essere un contenitore in cui mettere le informazioni che l’utente vuole depositare nel server.

Il client invia la request al server. L’unica cosa che cambia sono i passaggi 4 e 5 che sono aggiuntivi. Si divide in 2 fasi di comunicazione client-server. C’è l’inizializzazione della connessione da parte del server al database , che è come un altro server ma svolge funzioni specifiche di gestione dei dati. Lo step 4 è una fase di inizializzazione. Il server chiede al database se è funzionante e chiede di mandargli i dati o di inserire altri dati. Ciò avviene tramite linguaggio di gestione delle risorse database. Questo linguaggio è diverso da php, poiché i sistemi database sono sistemi organizzati. I Database possono organizzare le informazioni in modo diverso.

Modello relazionale database Prevede che le informazioni siano riorganizzate dentro la memoria di massa del database in tabelle. Ciò dà una serie di vantaggi : è semplice da gestire , l’informazione è strutturata in decine di tabelle diverse e ognuna è messa in relazione con le altre con elementi di collegamento.

Possiamo associare il nome relazione con una tabella, che è la struttura dati ben gestibile e rappresentabile con sistema informatico.

Linguaggio SQL per operazioni su database

  • Meccanismo per cercare informazioni e gestire le tabelle  ci sono funzioni per creare modificare distruggere e fare ricerca delle tabelle. Esiste un linguaggio che realizza queste funzioni in modo pratico SQLorientato ai database di tipo relazionale

Funzioni SQL:

  1. Creare la tabella :  Tramite CREATE TABLE seguito da nome della tabella  Tra parentesi si specifica una lista di attributi  ogni argomento che specifica un attributo è specificato con 2 elementi dove il primo è il nome dell’attributo e il secondo è una specifica di tipo dell’attributo. => char(3) specifica che è una stringa di 3 caratteri  NOT NULL è una specifica che dichiara obbligatorio quell’attributo  Ci sono campi che possono non contenere valori e altri che invece devono. CodiceAeroporto non è dichiarato ma deve contenere un valore in quanto poi c’è PRIMARY KEY che sottolinea l’attributo.  La chiave primaria deve essere sempre presente sennò genererebbe errore  Città(255)  specifica che si possono usare max 255 caratteri

References genera i collegamenti  specifica che quell’attributo è collegato a uno di un’altra tabella.  TIME  ora di partenza e arrivo

Ogni attributo è associato ad un tipo di dato. SQL mette a disposizione tipi di dati elementari :

  • Integer
  • Float
  • Date
  • Time
  • Char
  • Varchar Char e varchar si comportano allo stesso modo ciò che si indica dentro è il linguaggio massimo

CANCELLARE LA TABELLA:

 DROP TABLE  per gestire la tabella

 La ricerca di un dato è una delle cose fondamentali  SELECT è un istruzione che permette di estrarre dati da una tabella in maniera selettiva , ovvero è possibile nella ricerca di un dato estrarre i dati di una tabella anche a singole colonne e/o singole righe. posso usando in modo corretto il meccanismo di selezione, selezionare alcune righe e alcune colonne. In generale posso fare anche operazioni più complete quindi estrarre tutte colonne e tutte righe.SELECT ha degli attributi che determinano quali sono gli attributi che voglio estrarre : se voglio estrarli tutti uso SELECTFROM e nome della tabella* Se voglio solo una determinata colonna uso SELECT column_name FROM table_nameestrae tutte le righe e solo la colonna che voglio

 La selezione delle righe è implementata con WHERE  SELECT*FROM table_name WHERE conditions (sono espressioni booleane

che permettono di capire al database quali sono le righe che interessano a chi ha fatto la select).

 Posso mettere insieme delle espressioni booleane operando con operatori di confronti , e posso mettere la verifica di certe condizioni sui valori degli attributi.

Es: codicecompagnia=AZ AND orapartenza > 12.00  le righe ritornate saranno solo quelle in cui queste condizioni sono vere  la

penultima riga è l’unica della tabella per cui le condizioni sono entrambe vere

DELETE FROM table_name con eventualmente una condizione. Senza condizione cancella tutte le righe della tabella senza distruggerla tutta

 DELETE FROM table_name [WHERE conditions]  le cose fra parentesi sono opzionali

Passi da fare: Schema nel caso in cui vogliamo creare il database

  • $password  sempre da mettere
  • Mysqli_connect = è una versione con un’interfaccia nuova; è sempre da usare questa
  • $query=”create database person_db”;  è una stringa che rappresenta il linguaggio sql
  • Person_db identifica il database di dati
  • Mysqli_query($link,$query)  serve ad eseguire la creazione del database
  • Adesso compare nel sistema un nuovo database e mysqli_select_db serve a selezionare il database nuovo e poi operare

Situazione in cui database esiste ma vogliamo fare solo operazioni su dati

  1. Devo connettere tramite mysql_connect() 2. Devo selezionare il database con mysql_query (“CREATE DATABASE”)
  2. Posso fare le manipolazioni  mysql_fetch_array() serve a decodificare le informazioni
  3. Chiudo la connessione  mysql_close()
  • $conn=mysqli_conncet  fa una connessione e controlla che il server sia in funzione
  • Mysqli_connect contiene 0 se la connessione va a buon fine
  • Mysqli_connect_db torna 0 se qualcosa va storto, posso interrompere l’esecuzione