Realizzare un'applicazione Web per gestite il database Film - Attori - Cinema, sviluppato nella
prima esercitazione.
Creare una home page che abbia dei link per effettuare alcune ricerche:
Realizzare un'applicazione Web, si traduce nel mettere su un WEB SERVER delle pagine fruibili da un browser (siano esse html,
php, asp, jsp etc.)
La nostra architettura di riferimento è quella disegnata in figura: APACHE, linguaggio PHP e Base Dati MySQL.
Ci sono moli siti su cui registrandosi si può avere a disposizione un web server su cui pubblicare la propria applicazione Web-php-mysql.
Il Web Server di riferimento sarà il sito Altervista che contiene anche un database MySql.
Se ancora non si possiede, crearsi un account sul sito
Altervista e poi proseguire con l'esercitazione.
Per programmare in html-php, basta anche un solo notepad (su Windows), meglio sarebbe Notepad++ (Su windows)
o altri tool free, tipo BlueFish.
Scriveremo alcune pagine PHP e poi tramite il pannello di controllo di Altervista le pubblicheremo.
Salvare in locale il file cinema.sql
Dalla pagina principale di Altervista, andare sul link "Accedi a PhpMyAdmin".
Cliccare sul panel "import".
Cliccare "Choose File", scegliere cinema.sql e poi premere il tasto "Go".
A questo punto il DB è creato e popolato. Possiamo procedere con l'applicazione WEB.
Sul proprio editor, impostare la base di una pagina HTML che si compone di due parti: l’intestazione (head) e il corpo (body),
delimitati da apposite coppie di tag:
<html> <head> {intestazione} </head> <body> {corpo} </body> </html>
Poi inseriremo all'interno dei tag body, sostituendo {corpo}, la seguente form di ricerca di un regista:
<form action="ricercaRegista.php" method="POST" name="form"> <label for="nome">Nome: </label> <input id="nome" name="nome" type="text" size="30"><br><br> <input type="submit" value="Ricerca"><br> </form>
Salvare il file creato come ricerca_regista.html.
Dalla console altervista, andare sul link Gestione File,
poi premere
il bottone Invia Files
Premere il bottone Seleziona files, per selezionare ricerca_regista.html e poi premere il bottone
Invia files .
Nel momento in cui compare il messaggio
che l'Upload è completato,
andare tramite browser sul link del proprio sito indicando la pagina ricerca_regista.html e vedere il risultato.
Creare un nuovo file ricercaRegista.php sempre con la struttura HTML vista sopra.
All'interno del body, sempre sostituendo {corpo} della pagina, inserire il seguente blocco di codice php:
<?php $regista=$_POST[nomeregista]; $db=mysql_connect("localhost","root","root"); if(!$db) echo "no connection"; else { mysql_select_db("my_XXX"); $query = "select * from ES1_REGISTA where nome like '%".$regista."%'"; $result = mysql_query($query); $num_results = mysql_num_rows($result); echo "Numero di registi trovati: ".$num_results; for ($i=0; $i < $num_results; $i++) { $row = mysql_fetch_array($result); echo "<br>".$row[nome]." ".$row[nazionalita]." ".$row[anno_di_nascita]; } } ?>
Sostituire il DATABASE my_XXX con il proprio database. Altervista assegna il nome al database come my_nomesito
Non è indispensabile alla riuscita dell'esercizio, ma è risaputo che la grafica, nel mondo Web,
è una componente fondamentale.
Al seguente Link sugli elementi HTML, ci sono una serie di
tag HTML che renderanno le nostre pagine ricerca_regista.html e ricercaRegista.php meno spartane.
Qui il file HTML ricerca_regista_new.html
e qui il pezzo di codice PHP da sostituire al precedente blocco PHP con l'aggiunta delle <table> con un piccolo bordo.
<?php $regista=$_POST[nomeregista]; $db=mysql_connect("localhost","root","root"); if(!$db) echo "no connection"; else { mysql_select_db("my_XXX"); $query = "select * from ES1_REGISTA where nome like '%".$regista."%'"; $result = mysql_query($query); $num_results = mysql_num_rows($result); echo "<p>Numero di film trovati: ".$num_results."</p>"; echo "<table border=\"1\">"; echo "<tr>"; echo "<td bgcolor=\"#FFFFFF\">Titolo Film"; echo "</td>"; echo "<td bgcolor=\"#FFFFFF\">Regista"; echo "</td>"; echo "<td bgcolor=\"#FFFFFF\">Anno Film"; echo "</td>"; echo "</tr>"; for ($i=0; $i < $num_results; $i++) { $row = mysql_fetch_array($result); if($i % 2 == 0){ echo "<tr>"; echo "<td bgcolor=\"#BBBBBB\"> ".$row[regista]; echo "</td>"; echo "<td bgcolor=\"#BBBBBB\"> ".$row[titolo]; echo "</td>"; echo "<td bgcolor=\"#BBBBBB\"> ".$row[anno]; echo "</td>"; echo "</tr>"; } else { echo "<tr>"; echo "<td bgcolor=\"#DDDDDD\"> ".$row[regista]; echo "</td>"; echo "<td bgcolor=\"#DDDDDD\"> ".$row[titolo]; echo "</td>"; echo "<td bgcolor=\"#DDDDDD\"> ".$row[anno]; echo "</td>"; echo "</tr>"; } } echo "</table>"; } ?>
Sostituire il DATABASE my_XXX con il proprio database. Altervista assegna il nome al database come my_nomesito