Fondamenti delle basi di dati

Corso MySQL a cura del prof. Pietro De Paolis

Ricerca dei dati in un archivio

A questo punto dopo aver memorizzato i dati  nel nostro archivio tabella1 dovrebbe contenere i seguenti dati:

cognome nome comune classe scuola
Bianchi Giovanni Milano terza ITIS
Rossi Federico Bari terza ITIS
... ... ... terza ITIS
... ... ... terza ITIS
Zerbino Antonio Roma terza ITIS

 

Supponiamo di voler conoscere tutti i dati del sig. Bianchi; ci serve fare una ricerca sull'archivio seguendo la colonna cognome in modo che vengano visualizzati i dati di tutte le persone il cui cognome è Bianchi. Usiamo l'struzione Select.

Il comando MySQL per leggere dei valori contenuti in una tabella è il seguente:

SELECT  nomecolonna1,nomecolonna2, , ...,nomecolonnaultima FROM nometabella WHERE condizionedaverificare

 

volendo cercare tutte le persone con cognome Bianchi la nostra richiesta sarà:

$richiesta="SELECT * FROM tabella1 WHERE cognome='Bianchi' ";

dove:

SELECT * FROM tabella1  indica che la ricerca va fatta in tabella1; l'asterisco * indica che desidero visualizzare tutte le colonne; volendo solo nome e cognome avrei messo:

SELECT cognome, nome FROM tabella1

Inoltre:

WHERE cognome='Bianchi'  indica che la condizione da verificarsi è che il cognome sia uguale a Bianchi.

Quando vado a cercare il risultato della ricerca e lo metto in:

$risultato =mysql_query($richiesta);

il risultato della ricerca viene messo nella variabile $risultato; tuttavia essendo i dati contenuti molteplici ed imprevisti è necessario impostare una matrice in modo che i risultati vengano visualizzati sotto forma di matrice.

Per cui useremo l'istruzione php msql_fetch_array

Istruzione php:

$riga msql_fetch_array($stringarisultato)

E' una istruzione che carica ogni volta che viene eseguita una riga del risultato sotto forma di matrice ad una sola riga e tante colonne quante sono le colonne richieste nella istruzione SELECT.

Esempio

$riga = msql_fetch_array($risultato);

 

Mi crea una matrice di nome $riga dove:

$riga[0] contiene il cognome;

$riga[1] contiene il nome;

$riga[2] contiene il comune;

$riga[3] contiene la classe;

$riga[4] contiene la scuola;

La istruzione:

$riga = msql_fetch_array($risultato);

va eseguita più volte fino a leggere tutte le righe di $risultato. Per poter visualizzare tutte le righe del risultato occorre prima conoscere quante sono le righe trovate con la istruzione SELECT; per fare questo è possibile utilizzare la istruzione php mysql_num_rows.

Istruzione php:

$lunghezza = mysql_num_rows($risultato);

E' una istruzione che memorizza nella variabile $lunghezza il numero di righe contenute nel risultato della ricerca che si trova in $risultato.

Possiamo quindi usare un ciclo con l'istruzione for per visualizzare tutti i risultati della ricerca.

for ($t=0; $t<$lunghezza; $t++) {

               $riga=mysql_fetch_array($risultato);

print("risultato è $riga[0] $riga[1] $riga[2] $riga[3] $riga[4] <br>");

};

 

Il nostro programma completo per visualizzare i dati di tutti gli alunni che hanno come cognome Bianchi sarà:

<?php

print ("Programma per inserie una riga di una tabella");

$nomehost = "miohost";

$utente = "mionome";

$parola = "miapasswors";

$nome = "nomedeldatabase";

$connessione=mysql_connect($nomehost,$utente,$parola);

$selezione = mysql_select_db($nome, $connessione);

$richiesta="SELECT * FROM tabella1 WHERE cognome='Bianchi' ";

$risultato =mysql_query($richiesta);

$lunghezza = mysql_num_rows($risultato);

for ($t=0; $t<$lunghezza; $t++) {

               $riga=mysql_fetch_array($risultato);

print("risultato è $riga[0] $riga[1] $riga[2] $riga[3] $riga[4] <br>");

};

 

mysql_close($connessione);

?>

Salviamolo con il nome di cercodato.php ed eseguiamolo.

 

 

Corso di programmazione in MYSQL

Dizionario mysql e relativo php

Corso di programmazione in PHP

Dizionario php

prof. Pietro De Paolis

Indice Scuola Elettrica - generico


Scuola Elettrica



 

Altre applicazioni


Mappa per tipo di scuola

 

Indice di tutte le pagine del sito


Guida per navigare


Richiesta informazioni


Scuola Elettrica