+ All Categories
Home > Education > PHP, ricerca dati_in_file_sequenziali

PHP, ricerca dati_in_file_sequenziali

Date post: 28-Nov-2014
Category:
Upload: floste
View: 1,347 times
Download: 0 times
Share this document with a friend
Description:
come
18
1 Ricerca semplice in un archivio sequenziale (con html e php) Stefano Floris Versione ottobre 2011a Pubblicato su www.troppocurioso.altervista.org
Transcript
Page 1: PHP, ricerca dati_in_file_sequenziali

1

Ricerca semplice in un archivio sequenziale

(con html e php)

Stefano FlorisVersione ottobre 2011a

Pubblicato su www.troppocurioso.altervista.org

Page 2: PHP, ricerca dati_in_file_sequenziali

2

Ricerca semplice in un archivio sequenziale

(con html e php)

Preso in input un valore da cercare per esempio cognome=”Floris”,

si intende per ricerca semplice, lo scorrimento dell'archivio

e la visualizzazione di tutti i record il cui campo cognome equivale a “Floris”.

Page 3: PHP, ricerca dati_in_file_sequenziali

Per vedere una copia del testo della licenza visita il sito http://www.creativecommons.it/Licenze

Stefano Floris, 2011www.troppocurioso.altervista.org

Questa opera è sotto licenza creativa (di tipo copyleft)

Attribuzione-Non commerciale-Condividi allo stesso modo Generico.

Page 4: PHP, ricerca dati_in_file_sequenziali

4

Ricerca semplice di dati in un archivio sequenziale

Noi ci occuperemo delle fasi evidenziate

● Analisi del problema (testo)● Progettazione interfaccia● Progettazione programma (diagr. a blocchi)● Sviluppo● Test● Consegna

Page 5: PHP, ricerca dati_in_file_sequenziali

5

Prendiamo in esame due casi differenti e alternativi di possibili metodi di ricerca di un dato

in archivio:

1) Input del valore da cercare: una variabile

2) Input del valore da cercare e input del campo sul quale cercare: due variabili

Ricerca

Page 6: PHP, ricerca dati_in_file_sequenziali

6

Struttura del record

Cognome Nome Classe Sez Indirizzo Titolo Argomento

Gruppo/Individ.

Floris Stefano 4 C Mercurio Energia: la fonte rinnovabile migliore è il risparmio

Energia G

Nomi campi

Esempio di dati

Page 7: PHP, ricerca dati_in_file_sequenziali

7

Fasi di sviluppo del programma

● Analisi del problema● Progettazione interfaccia● Progettazione programma● Sviluppo● Test● Consegna

Page 8: PHP, ricerca dati_in_file_sequenziali

8

1) Input del valore da cercare: una variabile

Ricerca

Page 9: PHP, ricerca dati_in_file_sequenziali

9

1) Input del valore da cercare: una variabile

Progettazione interfaccia di ricerca

Scegli la ricerca:- Per Cognome- Per Classe- Per Sezione- Per Titolo- Per Argomento……indietro

ricerca.htmRicerca per Cognome

Digita il valore da cercare

indietro

Conferma Annulla

ric_cogn.htm

ris_cogn.php

RICEVE: noOUTPUT: noINPUT: ric_cognELABORA:no

INVIA a ris_cogn.php: ric_cogn

RICEVE: ris_cognOUTPUT: dati trovatiINPUT: noELABORA:scorre archivio e verifica il campo cognome

INVIA : no

Risultati ricerca per Cognome[XXXXXXX]

indietro

NOTE: a) metodo piu' semplice (vedremo perchè)b) è necessario realizzare due pagine di sorgente per ciascun campo ricerca (input, risultati)

Ecc., ecc., ecc.

NOTE su questo progetto:1) È' il metodo piu' semplice 2) E' necessario realizzare due pagine di sorgente per ciascun campo ricerca (input, risultati)

Page 10: PHP, ricerca dati_in_file_sequenziali

10

2) Input del valore da cercare e input del campo sul quale cercare: due variabili

Ricerca

Page 11: PHP, ricerca dati_in_file_sequenziali

11

2) Input del valore da cercare e input del campo sul quale cercare: due variabili

Progettazione interfaccia di ricerca

Scegli la ricerca:o Per Cognomeo Per Classeo Per Sezioneo Per Titoloo Per Argomento

indietro

ricerca.htm

visualizza.php

RICEVE: noOUTPUT: noINPUT: ric_campo, ric_valoreELABORA:no

INVIA a ric_cogn.php: ric_campo, ric_valore RICEVE: ric_campo,

ric_valoreOUTPUT: dati trovatiINPUT: noELABORA:scorre archivio e verifica il campo e il valore

INVIA : no

Risultati ricerca per [ric_campo][ric_valore]

indietro

Conferma Annulla

NOTE: 1) E' il metodo piu' complesso 2) E' sufficiente realizzare due pagine di sorgente per tutte le ricerche

Page 12: PHP, ricerca dati_in_file_sequenziali

12

Fasi di sviluppo del programma

● Analisi del problema (testo)● Progettazione interfaccia● Progettazione programma (diagr. a blocchi)● Sviluppo● Test● Consegna

Page 13: PHP, ricerca dati_in_file_sequenziali

13

Struttura del record

Cognome Nome Classe Sez Indirizzo Titolo Argomento Gruppo/Individ.

Floris Stefano 4 C Mercurio Energia: la fonte rinnovabile migliore è il risparmio

Energia G

Nomi campi

Esempio di dati

0 1 2 3 4 5 6 7

Tenere presente la numerazione dei campi. Dopo la lettura, si trasferisce il record in un vettore.La posizione di ciascun campo nel vettore si individua partendo da zero.

Page 14: PHP, ricerca dati_in_file_sequenziali

14

1) Input del valore da cercare: una variabile

Sviluppo

Page 15: PHP, ricerca dati_in_file_sequenziali

15

1) Input del valore da cercare: una variabile

Sviluppo ricerca

ris_cogn.php

RICEVE: ric_cognOUTPUT: dati trovatiINPUT: noELABORA:scorre archivio e verifica il campo cognome

INVIA : no

Risultati ricerca per Cognome[ric_cogn]

indietro

$record = fGets($archivio);

$vrecord = explode($record);While ! Eof($archivio) {

If $vrecord(1) = ric_cogn { Echo …;

Echo … ; }

// Record successivo $record = fGets($archivio); $vrecord = explode($record);}

Nel nostro esempio la ricerca di un valore in un file sequenziale si può chiamare visualizzazione condizionata dei dati letti. I dati nel file sequenziale vengono comunque letti tutti ma la visualizzazione è condizionata dalla corrispondenza del valore del campo letto (record corrente, posizione 1=cognome) con il valore cercato.

Page 16: PHP, ricerca dati_in_file_sequenziali

16

2) Input del valore da cercare e input del campo sul quale cercare: due variabili

Sviluppo

Page 17: PHP, ricerca dati_in_file_sequenziali

17

2) Input del valore da cercare e input del campo sul quale cercare: due variabili

Sviluppo ricerca

visualizza.php

RICEVE: ric_campo, ric_valoreOUTPUT: dati trovatiINPUT: noELABORA:scorre archivio e verifica il campo e il valore

INVIA : no

Risultati ricerca per [ric_campo][ric_valore]

indietro

$record = fGets($archivio);

$vrecord = explode($record);While ! Eof($archivio) {

If $vrecord(?) = ric_valore { Echo …;

Echo … ; }

// Record successivo $record = fGets($archivio); $vrecord = explode($record);}

Page 18: PHP, ricerca dati_in_file_sequenziali

18

FineFinesegue approfondimento su ● ricerca su piu' campi (esempio Cognone + Nome)● ricerca con risultato di un record o piu' record


Recommended