Ciao a tutti, sono alle prime armi col PHP e non ho pretese di efficienza del codice. Dovrei stendere entro le prossime ore una pagina XHTML+PHP che realizzi una soluzione per questo problema:
Ho una siffatta pagina XHTML:
-----------------------------------
Ricerca nominativi
nome: <inserire campo> cognome: <inserire campo>
#matricola: <inserire campo> TASTO_INVIA(SUBMIT)
-----------------------------------
La pagina invia le variabili 'nome', 'cognome', 'n_matr' ad una pagina
php. Non uso sessioni. Le passo con metodo GET.
L'utente può inserire da 0 a 3 parametri (tutti, 2, 1 o 0. Es. inserisce
nome, cognome, matricola; oppure solo matricola; oppure niente; oppure
solo nome, ecc.).
La pagina XHTML+PHP chiamata dalla pagina XHTML appena descritta apre un siffatto file (.txt) di record:
<#mat>;<nome>;<cognome>;/n
NOTA:nel file ci sono tante righe come questa e niente altro
Es.
55645;Paolo;Rossi;
65458;Mario;Bianchi;
......
Tale pagina PHP+XHTML deve produrre nel browser dell'utente una pagina XHTML con tutte le linee del file che matchano con la ricerca fatta dall'utente.
Es.
-passo 0 variabili (tutti i campi della prima pagina sono stati lasciati
vuoti)
->stampo tutti i record del file poichè l'utente non ha ristretto la
ricerca a record particolari
-passo 1 variabile
->stampo tutti i record del file che hanno quel campo che matcha con
l'unico campo indicato dall'utente (es. n_mat = campo numero matricola del record letto dal file,
oppure nome= campo nome del record del file).
...
-passo 3 variabili
->stampo tutti i record i cui campi corrispondono a quelli indicati
nella prima pagina dall'utente.
Non ho dimestichezza con le potenzialità di PHP proprie dei linguaggi di
scripting quindi ora sto pensando ad un approccio tradizionale tipo
linguaggio imperativo. Una cosa del tipo:
if(nome&cognome&n_matr){ // l'utente li ha impostati tutti e 3
CREA STRINGA=$_GET['nome'].";".$_GET['cognome'].";".$_GET['n_mat'].";"
{scorri file leggendo un record per volta
if(CREA STRINGA == riga letta)
stampa_linea;
}
}
else{
if(n_matr){ // l'utente ha impostato NUMERO MATRICOLA
scorri file leggendo un record alla volta
if(nome){ // l'utente ha impostato NOME
....
....
Che approccio si potrebbe seguire nel definire un algoritmo che risolva questo problema? Senza usare funzionalità particolarmente avanzate possibilmente (no PHP ad oggetti, sessioni o altre tecniche avanzate).
Grazie per il supporto!![]()