Chiunque voglia informazioni relative ad un file video, sa che con il programma open source Mediainfo può ottenere tutte le informazioni relative al formato video, risoluzione, codec ecc. e così analogamente tutte le informazioni relative alle tracce audio. Tuttavia se volete determinare queste informazioni all'interno di una vostra applicazione, è necessario ricorrere ad una libreria specifica per il linguaggio scelto. Qui vi descriviamo una soluzione PHP che utilizza la libreria di classi GetID3. Sul sito web trovate tutte le specifiche e la descrizione delle potenzialità di questa libreria relativamente ai formati audio e video riconosciuti. La prima operazione da compiere è ovviamente scaricare la libreria ed includere la cartella 'getid3' con tutti i moduli nella vostra applicazione php. L'esempio che vi forniamo in questa pagina è relativo alle informazioni di un file video di formato mkv.

24.3.4  Eliminazione records del database

Continuamo il nostro corso PHP vedendo come eliminare dei records dal database. Il comando da usare per eliminare un record dal database è DELETE. La sintassi che troverete sul manuale è la seguente:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
[PARTITION (partition_name,...)]
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]
Anche in questo caso tuttavia il più delle volte si userà solo la forma semplificata:
DELETE FROM tbl_name
WHERE nome_colonna = valore

24.3.3 Aggiornamento records del database

Una volta che il vostro database è popolato con le informazioni precedentemente inserite capiterà di doverle modificare. Ad esempio si dovrà modificare un indirizzo di un cliente, un numero di telefono ecc. Per aggiornare uno o più records di un database MySQL si usa il comando UPDATE. La sintassi che troverete sul manuale è riportata di seguito:
UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]

24.3.2 Inserimento di nuovi records nel database Per inserire uno o più records in una tabella di database si usa il comando INSERT. La sintassi del comando è la seguente:
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name
[PARTITION (partition_name,...)]
[(col_name,...)]
{VALUES | VALUE} ({expr | DEFAULT},...),(...),...
[ ON DUPLICATE KEY UPDATE
col_name=expr
[, col_name=expr] ... ]
Anche per INSERT così come per la SELECT l’uso comune del comando è assai più semplice di quel che appare dalla sintassi riportata dal manuale. La forma più comune di INSERT è la seguente:
INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)
Per utilizzare un database MySQL all’interno di una pagina PHP, la prima cosa da fare è quindi richiamare il nostro file di configurazione descritto precedentemente, mediante il quale si effettuerà l’accesso al database. Se utilizziamo Mysqli scriveremo quindi all’inizio di ogni pagina che dovrà accedere al database :
<?php
session_start();
include_once("includes/ config_mysqli.php ");
?>
Se invece utilizziamo l’estensione PDO scriveremo:
<?php
session_start();
include_once("includes/config.pdo.php");
?>
A questo punto saremo abilitati ad effettuare le query necessarie al funzionamento del nostro programma.
24.3  Accedere a MySQL da PHP Per creare il nostro database sul nostro servizio di hosting bisognerà seguire i seguenti passi in sequenza:
  1. Creazione del Database
  2. Crezione nuovo utente
  3. Creazione password utente
  4. Associazione utente a database
  5. Assegnazione diritti all’utente
E’ sufficiente cliccare su ‘Creazione database’ nel proprio pannello di controllo e poi seguire gli step come richiesti dal sistema. Un esempio dei primi 4 passi del processo è mostrato nelle due figure seguenti. Creazione nuovo database Creazione nuovo database  
Possiamo ora procedere alla creazione della prima tabella come indicato precedentemente. Tabella Clienti. Il primo campo sarà un numeratore delle righe gestito automaticamente da MySQL. Lo chiamiamo ‘id’ e occorre flaggare il campo ‘A_I’ (Auto Incremento) come mostrato in figura. Tabella Clienti (Auto Incremento) Tabella Clienti (Auto Incremento)
24.2 Organizzare un database MySQL. In questa sede tralasciamo i consigli sulla “best practice” nella costruzione di un database e ci concentriamo solamente sulle operazioni da compiere per la costruzione di un database basandoci su un caso pratico, se pur molto semplificato. Inoltre come strumento tecnico useremo PHPMyAdmin messo a disposizione sul nostro computer da xampp (vedi quanto descritto al cap. 2 di questo corso). Supponiamo quindi di dover costruire un database per un applicazione di gestione degli ordini cliente. Il nostro database avrà bisogno di diverse tabelle:
  • Clienti: dove inseriremo tutte le informazioni anagrafiche dei nostri clienti
  • Testate ordini: dove memorizzeremo le informazioni relative a ciascun ordine con esclusione dei prodotti ordinati, che non sapendo quanti possano essere andranno memorizzati uno per riga e di conseguenza in una tabella a parte.
  • Dettagli ordini: dove inseriremo tutti i prodotti ordinati per ciascun ordine.
  • Prodotti: i prodotti a magazzino con le informazioni di prodotto inclusi prezzo di vendita, costo, disponibilità di magazzino ecc.
  • Fatture: dove inseriremo tutti gli ordini già fatturati con i relativi dati di fattura.
Per semplicità di esposizione ci fermiamo qui alle tabelle essenziali. Per lo stesso motivo anche le informazioni che prevederemo in ciascuna tabella saranno ridotte all’osso, giusto quanto serve per analizzare la dinamica di costruzione del database, i tipi dei campi, le relazioni tra le tabelle e gli indici.