DBNavigator di ghiaccio , ultimo aggiornamento 01/01/2008 23:02:26
Classe PHP che consente di costruire una sorta di phpMyAdmin ovvero una gestione di un database però in modo molto più orientato verso l'utente.
Fornisce un sistema completo per modificare/inserire/eliminare/ricercare record in un Database MySql.
Si può modificare un solo record singolo oppure molti record sequenzialmente od addirittura molti record contemporaneamente ovvero, assegnare gli stessi dati per molti record
(escludendo i campi desiderati ma senza poter assegnare password e file)
La classe supporta una fantastica funzionalità per le modifiche: accesso esclusivo ai record.
In poche parole un utente non può modificare un record mentre un altro utente lo sta modificando a sua volta.
Se un record è occupato, la pagina si 'ricaricherà' non appena diventerà libero.
Questo sistema funziona in modo simile per l'eliminazione e naturalmente sfrutta la tecnologia AJAX !
La classe può riconoscere i campi della query passata come parametro nel costruttore in termini di tipo di campo e chiavi esterne contenute nei vari Join.
Quando è richiesta una modifica/inserimento la classe associa il tipo di ogni campo da modificare con il suo input HTML e applica una validazione client (Javascript) e server (PHP).
I campi obbligatori sono riconosciuti dalla proprietà not null del campo nella tabella del database.
I campi che devono contenere dati speciali, possono essere impostati con il loro tipo specifico e ciò applicherò ad essi una trattamento/validazione specifico.
Per esempio, indirizzi email, immagini, file generici, passwords.
Le Password inserite (con la digitazione di conferma) o modificate (specificando la vecchia password e ridigitando quella nuova) sono memorizzate nel database con la funzione di codifica md5() di PHP.
Una cartella deve essere assegnate per le immagini ed i file generici.
Sugli uploads la classe controlla l'esistenza di un file con lo stesso nome nella cartella e se esiste, la memorizzazione del file e l'inserimento del record viene bloccato con un errore.
La classe prende anche in considerazione i campi UNIQUE di MySql che possono essere usati come campi contenenti email o nickname impedendo la memorizzazione di valori duplicati all'interno della tabella.
Nei form di modifica/inserimento I campi delle altre tabelle collegati nella query con un Join , l'utente può selezionare il valore di visualizzazione presente nella tabella esterna memorizzando però il suo id primario nella tabella principale.
Il riconoscimento delle chiavi esterne può anche consentire alla classe di eliminare i record collegati ad ogni record che si elimina.
Il form di ricerca comprende i campi definiti come camp di ricerca.
la ricerca ha anche un sistema di suggerimenti implementato con AJAX simile a google suggest per i campi che sono di testo semplice (MySql VARCHAR).
Anche la navigazione con AJAX è possibile per molti pulsanti.
Le ricerche Fulltext sono consentite per i campi MySql che sono indici FULLTEXT.
Nell'implementazione della ricerca, si applicano differenti criteri sulla base della presenza di un indice fulltext e della lunghezza di ogni parola nella frase cercata.
I risultati della ricerca possono essere salvati come un file CSV.
I record sono visualizzati in una tabella "di default" a cui si possono applicare differenti colosi o classi CSS.
La tabella è il più flessibile possibile in quanto colonne con links, dati aggiuntivi estratti dal database e contenuto libero, possono essere aggiunte.
In molti casi il layout della tabella può non essere adatto.
C'è quindi la possibilità di definire una funzione PHP che serva a visualizzare i dati (solo per la visualizzazione dei risultati della pagina corrente, non tutti. La Paginazione è comunque fatta dalla classe).
Questa classe utilizza le classi (disponibili per il download in questo sito) HTMLForm e PageNavigator.
Inserisci commento al sorgente
Lista commenti
- Nessun risultato
Download di DBNavigator.rar
