Your SlideShare is downloading. ×
  • Like
PHP, ricerca dati_in_file_sequenziali
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

PHP, ricerca dati_in_file_sequenziali

  • 1,099 views
Published

come

come

Published in Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,099
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
7
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Ricerca semplice in un archivio sequenziale (con html e php)Stefano Floris Pubblicato suVersione ottobre 2011a www.troppocurioso.altervista.org 1
  • 2. Ricerca semplicein 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 dellarchivio e la visualizzazione di tutti i recordil cui campo cognome equivale a “Floris”. 2
  • 3. Questa opera è sotto licenza creativa (di tipo copyleft) Attribuzione-Non commerciale- Condividi allo stesso modo Generico.Per vedere una copia del testo della licenza visita il sitohttp://www.creativecommons.it/LicenzeStefano Floris, 2011www.troppocurioso.altervista.org
  • 4. Ricerca semplice di dati in un archivio sequenzialeNoi ci occuperemo delle fasi evidenziate● Analisi del problema (testo)● Progettazione interfaccia● Progettazione programma (diagr. a blocchi)● Sviluppo● Test● Consegna 4
  • 5. Ricerca Prendiamo in esame due casi differenti ealternativi 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 5
  • 6. Struttura del record Nomi campiCognome Nome Classe Sez Indirizzo Titolo Argoment Gruppo/ o Individ.Floris Stefano 4 C Mercurio Energia: la Energia G fonte rinnovabile migliore è il risparmio Esempio di dati 6
  • 7. Fasi di sviluppo del programma● Analisi del problema● Progettazione interfaccia● Progettazione programma● Sviluppo● Test● Consegna 7
  • 8. Ricerca1) Input del valore da cercare: una variabile 8
  • 9. Progettazione interfaccia di ricerca 1) Input del valore da cercare: una variabile ric_cogn.htm RICEVE: no ricerca.htm OUTPUT: no Ricerca per Cognome INPUT: ric_cogn ELABORA:no Scegli la ricerca: Digita il valore - Per Cognome da cercare INVIA a ris_cogn.php: - Per Classe ric_cogn - Per Sezione Conferma Annulla - Per Titolo - Per Argomento indietro ris_cogn.php … … Ecc., Risultati ricerca indietro ecc., per Cognome RICEVE: ris_cogn ecc. [XXXXXXX] OUTPUT: dati trovati INPUT: noNOTE su questo progetto: ELABORA:1) È il metodo piu sempliceNOTE: scorre archivio e2) E necessario realizzare due pagine verifica il campoa) metodo piu semplice (vedremo perchè) cognomedi sorgente per ciascun campo pagine di sorgenteb) è necessario realizzare due ricerca indietro(input, risultati)per ciascun campo ricerca (input, risultati) INVIA : no 9
  • 10. Ricerca2) Input del valore da cercare e input del campo sul quale cercare: due variabili 10
  • 11. Progettazione interfaccia di ricerca 2) Input del valore da cercare e input del campo sul quale cercare: due variabili ricerca.htm RICEVE: no OUTPUT: no Scegli la ricerca: INPUT: ric_campo, o Per Cognome ric_valore o Per Classe ELABORA:no o Per Sezione visualizza.php o Per Titolo INVIA a ric_cogn.php: Risultati ricerca o Per Argomento ric_campo, ric_valore RICEVE: ric_campo, per [ric_campo] [ric_valore] ric_valore OUTPUT: dati trovati Conferma Annulla INPUT: no indietro ELABORA: scorre archivio e verifica il campo indietro e il valoreNOTE:1) E il metodo piu complesso INVIA : no2) E sufficiente realizzare due pagine disorgente per tutte le ricerche 11
  • 12. Fasi di sviluppo del programma● Analisi del problema (testo)● Progettazione interfaccia● Progettazione programma (diagr. a blocchi)● Sviluppo● Test● Consegna 12
  • 13. Struttura del record 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. Nomi campi0 1 2 3 4 5 6 7Cognome Nome Classe Sez Indirizzo Titolo Argomento Gruppo/ Individ.Floris Stefano 4 C Mercurio Energia: la Energia G fonte rinnovabile migliore è il risparmio Esempio di dati 13
  • 14. Sviluppo1) Input del valore da cercare: una variabile 14
  • 15. Sviluppo ricerca 1) Input del valore da cercare: una variabile ris_cogn.php $record = fGets($archivio); Risultati ricerca per Cognome RICEVE: ric_cogn $vrecord = explode($record); [ric_cogn] OUTPUT: dati trovati INPUT: no While ! Eof($archivio) { ELABORA: If $vrecord(1) = ric_cogn { scorre archivio e Echo …; verifica il campo cognome Echo … ; indietro } INVIA : no // Record successivo $record = fGets($archivio); $vrecord = explode($record); }Nel nostro esempio la ricerca di un valore in un file sequenziale si può chiamarevisualizzazione condizionata dei dati letti. I dati nel file sequenziale vengono comunqueletti tutti ma la visualizzazione è condizionata dalla corrispondenza del valore del campo15letto (record corrente, posizione 1=cognome) con il valore cercato.
  • 16. Sviluppo2) Input del valore da cercare e input del campo sul quale cercare: due variabili 16
  • 17. Sviluppo ricerca 2) Input del valore da cercare e input del campo sul quale cercare: due variabili visualizza.php $record = fGets($archivio);Risultati ricercaper [ric_campo] RICEVE: ric_campo, $vrecord = explode($record);[ric_valore] ric_valore While ! Eof($archivio) { OUTPUT: dati trovati INPUT: no If $vrecord(?) = ric_valore { ELABORA: Echo …; scorre archivio e Echo … ; verifica il campoindietro e il valore } // Record successivo INVIA : no $record = fGets($archivio); $vrecord = explode($record); } 17
  • 18. Finesegue approfondimento su● ricerca su piu campi (esempio Cognone + Nome)● ricerca con risultato di un record o piu record 18