AppletTalk.com Forum Index AppletTalk.com
Java discussions newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Autocompletamento Form per inserimento dati

 
Post new topic   Reply to topic    AppletTalk.com Forum Index -> Java (Italian)
View previous topic :: View next topic  
Author Message
Danilo
Guest





PostPosted: Wed Aug 25, 2004 7:06 pm    Post subject: Autocompletamento Form per inserimento dati Reply with quote



Salve a tutti,

in un sito utilizzo un menu a tendina per inserire un determinato valore
utilizzando la nota sintassi HTML :

<TD>
<SELECT name="select_artista">
<OPTION value=96>Adderley Julian Cannonball</OPTION>
<OPTION value=97>Adderley Nat</OPTION>
</SELECT>
</TD>

dove la form e' costruita dinamicamente andando ad interrogare un database
MySQL.

Il problema e' che il risultato della SELECT, e quindi il numero delle
istanze nella form, supera gia' i cinquecento risultati.

Quello che vorrei realizzare e' quindi una sorta di autocompletamento : se
l'utente scrive "a" automaticamente vengono visualizzati nella form solo e
soltanto i risultati della SELECT che iniziano per A, se ancora scrive "d"
vengono visualizzati solo e soltanto i risultati della SELECT che iniziano
per AD e cosi' via.

Tenendo conto che l'utente dovrebbe scrivere "AD" ma se poi sceglie di
inserire "Adderley Julian Cannonball" nell'insert mysql ci va il value (in
questo caso 96).

Chiedo scusa, ammetto di non conoscere se non minimamente questo linguaggio
ma dato che in PHP, il linguaggio che sto utilizzando per tutta la gestione
del sito, la cosa nn sembra realizzabile,volevo sapere se qualcuno sapeva
rimandarmi ad una soluzione realizzata in java.

Vi ringrazio e, se ho detto una castroneria, chiedo scusa

danilo


Back to top
Andrea Polci
Guest





PostPosted: Wed Aug 25, 2004 8:33 pm    Post subject: Re: Autocompletamento Form per inserimento dati Reply with quote



Danilo wrote:

Quote:
Chiedo scusa, ammetto di non conoscere se non minimamente questo linguaggio
ma dato che in PHP, il linguaggio che sto utilizzando per tutta la gestione
del sito, la cosa nn sembra realizzabile,volevo sapere se qualcuno sapeva
rimandarmi ad una soluzione realizzata in java.

Il problema non e' PHP o java. Il problema sta nel fatto che tu stai
parlando di una applicazione web.

Sul client gira il browser che richiede le pagine al server sul quale
gira un'applicazione (in questo caso java) che genera delle pagine HTML
che vengono inviate al client.

Se ad ogni pressione di un tasto tu richiedessi una nuova pagina al
server non miglioreresti di certo le prestazioni dell'applicazione (e
neanche la sua usabilità).

Le soluzioni sono due:

1) diminuisci l'interattività. Invece che ad ogni tasto premuto l'elenco
viene filtrato solo dopo il click su un pulsante (o almeno dopo che il
campo a perso il focus, quindi dopo un tab) che non fa altro che
richiedere una nuova pagina al server.

2) utilizzi del codice javascript per ottenere la tua funzionalità. La
differenza fra javascript e java e'... Beh, partiamo da cosa hanno in
comune: il nome e basta. Sono due linguaggi diversi.
Questa soluzione va bene se comunque le dimensioni in gioco non sono
enormi perché quando generi la pagina devi includere (non
necessariamente visualizzare) tutti i dati, in modo da permettere al
javascript di decidere quali visualizzare e quali no.
Se si tratta di svariate migliaia di record diventa un problema.

Javascript viene eseguito dal browser una volta che il server gli invia
la pagina che invece e' stata creata con java.

Per il javascript ti consiglio di chiedere sul relativo newsgroup
(it.comp.lang.javascript). Se chiedi qui' a volte qualcuno si offende un
po' ;-)

Andrea

PS
Tutto il discorso che ho fatto rimane valido se a java sostituisci PHP,
anche in quel caso il codice PHP viene eseguito solo sul server.

Back to top
Danilo
Guest





PostPosted: Wed Aug 25, 2004 9:42 pm    Post subject: Re: Autocompletamento Form per inserimento dati Reply with quote



Quote:
Il problema non e' PHP o java. Il problema sta nel fatto che tu stai
parlando di una applicazione web.

Andrea,

innanzi tutto grazie.

So, purtoppo, che la pagina cosi' costruita risulterebbe pesante.

Il fatto e' che devo dare la possibilita' di inserire una fra n voci, dove n
e' un numero decisamente grande (quello che sta realizzando e' un database
on line dei dischi jazz) e vorrei che l'utente potesse inserire solo una fra
le voci possibili (immagina come potrebbe venire storpiato il cognome di
Armstrong che pure e' uno dei piu' famosi) anche per rispettare il modello
relazionale del database.

Purtroppo se c'e' da inserire un nuovo disco, devo mostrare tutte le
possibilita', ovvero tutti gli artisti. E nel campo del jazz nn sono pochi.

Quindi o carico in un array tutti gli artisti, o faccio scrivere a manina
all'utente e controllo poi che abbia inserito i dati giusti (ma nel caso di
Niels-Henning Ørsted Pederses la vedo dura...) o trovo una soluzione
alternativa.

Quindi avevo pensato o a Javascript o a Java : io preferisco lavorare solo
server side (ho avuti come utente problemi di compatibilita' di JVM per
applicazioni piuttosto pesanti), ma in PHP la cosa sembra proprio
impossibile (anche per i limiti di configurazione del mio host).

In qualche modo la devo risolvere :-)

grazie

danilo



Back to top
stefano
Guest





PostPosted: Thu Aug 26, 2004 7:40 am    Post subject: Re: Autocompletamento Form per inserimento dati Reply with quote

Ho avuto un problema simile e una soluzione che raggiunge un buon
compromesso è dividere l'interrogazione in due parti; nella prima usi
un campo input in cui far inserire una stringa, che rinvii al server
gestendo l'evento onblur sulla input; quella stringa diventa il filtro
per costruire la select successiva.
Spero di esserti stato utile
Stefano

"Danilo" <campax (AT) tin (DOT) it> wrote

Quote:
Il problema non e' PHP o java. Il problema sta nel fatto che tu stai
parlando di una applicazione web.

Andrea,

innanzi tutto grazie.

So, purtoppo, che la pagina cosi' costruita risulterebbe pesante.

Il fatto e' che devo dare la possibilita' di inserire una fra n voci, dove n
e' un numero decisamente grande (quello che sta realizzando e' un database
on line dei dischi jazz) e vorrei che l'utente potesse inserire solo una fra
le voci possibili (immagina come potrebbe venire storpiato il cognome di
Armstrong che pure e' uno dei piu' famosi) anche per rispettare il modello
relazionale del database.

Purtroppo se c'e' da inserire un nuovo disco, devo mostrare tutte le
possibilita', ovvero tutti gli artisti. E nel campo del jazz nn sono pochi.

Quindi o carico in un array tutti gli artisti, o faccio scrivere a manina
all'utente e controllo poi che abbia inserito i dati giusti (ma nel caso di
Niels-Henning Ørsted Pederses la vedo dura...) o trovo una soluzione
alternativa.

Quindi avevo pensato o a Javascript o a Java : io preferisco lavorare solo
server side (ho avuti come utente problemi di compatibilita' di JVM per
applicazioni piuttosto pesanti), ma in PHP la cosa sembra proprio
impossibile (anche per i limiti di configurazione del mio host).

In qualche modo la devo risolvere :-)

grazie

danilo

Back to top
Sillaba
Guest





PostPosted: Thu Aug 26, 2004 12:29 pm    Post subject: Re: Autocompletamento Form per inserimento dati Reply with quote

Danilo wrote:


Quote:

Purtroppo se c'e' da inserire un nuovo disco, devo mostrare tutte le
possibilita', ovvero tutti gli artisti. E nel campo del jazz nn sono pochi.

Quindi o carico in un array tutti gli artisti, o faccio scrivere a manina
all'utente e controllo poi che abbia inserito i dati giusti (ma nel caso di
Niels-Henning Ørsted Pederses la vedo dura...) o trovo una soluzione
alternativa.


Il problema che hai e' se usare un menu a tendina o un campo input.

La soluzione: il menu a tendina non puoi usarlo se eccede un numero
ragionevole di dati.

Quindi? campo di interrogazione sul database che consente di effettuare
una ricerca anche sbagliando alcune parti del nome (si dice normalizzare
un database). Quindi se scrivo Müller o Muller il database mi deve
restituire tutti e due i nomi. Soluzione sofisticata ma ottimale.

Back to top
Andrea Polci
Guest





PostPosted: Fri Aug 27, 2004 2:26 pm    Post subject: Re: Autocompletamento Form per inserimento dati Reply with quote

Sillaba <javascriptJUNK (AT) tin (DOT) it> wrote

Quote:
Quindi? campo di interrogazione sul database che consente di effettuare
una ricerca anche sbagliando alcune parti del nome (si dice normalizzare
un database). Quindi se scrivo Müller o Muller il database mi deve
restituire tutti e due i nomi. Soluzione sofisticata ma ottimale.

Beh, veramente, quando si parla di normalizzazione di un database si
intende ben altro (prima/seconda/terza forma normale, forma nomale di
Boyce-Codd, ecc.).

Al massimo si potrà parlare di ricerca normalizzata o ricerca per
valore normalizzato.

A proposito di ricerche "approssimate" so di strumenti che cercano di
trovare le parole che possono essere pronunciate in modo simile.
Conosco un solo prodotto che utilizza una cosa del genere per
l'anagrafica di un ospedale: mi sa che ha un po' piu' record
dell'elenco degli autori jazz Wink.

Andrea

Back to top
Display posts from previous:   
Post new topic   Reply to topic    AppletTalk.com Forum Index -> Java (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.