[php] caselle di selezione

Salve a tutti,

domanda banale: Ŕ possibile creare un form che preveda caselle di selezione con l'aggiunta di un'area testo per l'inserimento dei dati. Mi spiego meglio, l'utente dovrebbe avere la possibilitÓ di consultare un men¨ a tendina e se nel caso la voce che lo interessa non ci fosse, di poter aggiungere l'informazione

inviato 9 anni fa
alice1
X 0 X

Da dove prendi i dati per riempire la casella?

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

I dati giÓ inseriti nel men¨ a tendina provengono da un db MySQL. Questo deve essere aggiornato e probabilmente devono essere inserite nuove informazioni, cosý ho bisogno che l'utente possa consultare le voci del men¨ a tendina ed eventualmente aggiungere quella mancqante.

risposto 9 anni fa
alice1
X 0 X

perchÚ non inserisci un link vicino alla casella con la scritta "aggiungi voce". Il link condice ad una pagina nella quale, attraverso un form, viene specificata una nuova voce per l'elenco...

Si tratta poi di fare la solita INSERT nel DB, magari controllando prima se la voce indicata dall'utente era giÓ presente nella tabella.

Finita la procedura si ritorna alla pagina iniziale.

Quale passaggio potrebbe crearti problemi?

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Grazie mille....credo sia la soluzione migliore e non penso possa creare problemi

risposto 9 anni fa
alice1
X 0 X

In realtÓ un problema c'Ŕ. Il form per l'inserimento dei dati prevede una serie di campi con men¨ a tendina, quindi dovrei creare un link per ognuno di questi.

Quando per˛ io inserisco una nuova voce nel primo campo e clicco su insert non mi da la possibilitÓ di continuare con gli altri campi e se rivado sulla pagina iniziale passa direttamente ad un nuovo record.......spero di essermi spiegata

risposto 9 anni fa
alice1
X 0 X
e se rivado sulla pagina iniziale passa direttamente ad un nuovo record

questa non l'ho capitaá :o

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

cerco di essere pi¨ chiara....l'utente sta compilando il form per l'inserimento dei dati, arriva al campo x controlla il men¨ a tendina e non trova la voce di suo interesse allora clicca su 'Aggiungi voce' e va alla pagina di inserimento, digita il dato, clicca su insert e a questo punto il record viene inserito nel Database senza che egli abbia l'opportunitÓ di inserire i dati degli altri campi

risposto 9 anni fa
alice1
X 0 X

allora potresti mettere una normale casella di input accanto alla casella di selezione in cui l'utente pu˛ inserire del testo libero se non presente nella casella stessa.

á:bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Ok, grazie

risposto 9 anni fa
alice1
X 0 X

Ho provato ma mi succede questo: se l'utente sceglie di digitare direttamente il dato nella casella di input tutto ok, il record viene salvato con le nuove informazioni, ma se invece lo sceglie dal men¨ il campoá rimane vuoto.

E' come se il form dasse precedenza al comando INSERT ignorando l'alternativa della casella del SELECT, in poche parole non riesco ad integrare le due possibilitÓ

risposto 9 anni fa
alice1
X 0 X

hai dato 2 nomi diversi alla casella si selezione e a quella di input?

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Ho fatto in questo modo

<SELECT name="Regione" TYPE="Text" id="Regione">
<OPTION> </OPTION>
<OPTION>Toscana</OPTION>
<OPTION>Lazio</OPTION>
</SELECT>
<br>Altro<br><INPUT name="Regione" TYPE="Text" id="Regione">
risposto 9 anni fa
alice1
X 0 X

ed hai fatto male, perchÚ non puoi usare lo stesso nome e lo stesso id per due distinti elementi di un form!!!

á:bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Ma allora, se io do la possibilitÓ all'utente di scegliere tra le voci del men¨ a tendina o di digitare direttamente il dato nella casella di input, ed in entrambe le condizioni l'informazione deve confluire nel campo regione del mio DB, quale nome e id devo attribuire ai due elementi del form?......Scusami se non riesco a capire.

risposto 9 anni fa
alice1
X 0 X

Se vuoi realizzare un form "intelligente" devi inserire un po di intelligenza nello script...

In pratica dovresti controllare se Ŕ stato selezionato qualcosa con la casella di selezione (select_nome_campo), in caso contrario verifichi se la casella di input associata (input_nome_campo) contiene del testo...

Se non usi 2 nomi distinti (select_nome_campo e input_nome_campo) non potrai distinguere i valori selezionati o inseriti dall'utente ma ne vedrai solo uno dei due.

á:bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda