Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
[PHP] Query in un'istruzione if
Nuovo argomento   Rispondi    Indice del forum -> Linguaggi per Internet
Precedente :: Successivo  
Autore Messaggio
ladycrys
Comune mortale
Comune mortale


Registrato: 08/08/10 16:54
Messaggi: 3

MessaggioInviato: 08 Ago 2010 16:59    Oggetto: [PHP] Query in un'istruzione if Rispondi citando

Salve a tutti, non sono nuova ma per diversi motivi non posso più recuperare nome e pass.
Volevo chiedervi un consiglio circa un piccolo progetto che sto affrontando.
Ho creato un form dove l'utente dovrà scegliere dal menu a tendina una voce.
Se sceglierà una voce dovrà aprirsi un altro menu a tendina, se ne sceglierà un altra dovrà aprirsi un altro menu ancora.

del tipo:
Sei uomo o donna? Se scegli uomo potrai scegliere degli interessi e s'inserirà nel database UOMO, se sei donna altri interessi e verrà inserito nel database DONNA


E' solo un esempio ovviamente^_^ è un pò più complesso il mio form.
Il problema è che non riesco ad inserire i dati

Sono ancora alle prime armi quindi...aiuto ç_ç
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 20:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 08 Ago 2010 19:13    Oggetto: Rispondi citando

Ciao, se ho capito bene tu hai una form con n tendine e solo la prima è all'inizio popolata. Se le identifichiamo con combo1,combo2,...,combon abbiamo che ogni combo (a parte la prima) ha i valori che dipendono da quello selezionato nella precedente.
Se è così, secondo me la soluzione più comoda/elegante è ajax.
Personalmente risolverei il problema nel modo che segue:

1) creo uno script che riceve in querystring un parametro che serve ad identificare una query. Seguendo il tuo esempio avremo
Codice:

?q=uomo
o
?q=donna

In base al parametro verrà eseguita una query e i risultati (le options per la combo collegata) verranno proposti in xml oppure in json
2) all'evento onselect di ogni tendina viene chiamata una funzione javascript che riceve due bei parametri: a) l'identificativo della query da passare allo script descritto nel punto 1 e b) l'id della combo che verrà popolata in cascata.
Questa funziona dovrà prima di tutto distruggere tutti i valori presenti nella tendina collegata e poi eseguire la chiamata asincrona allo script precedente.
3) Una volta che la chiamata termina con successo tu avrai nel response xml o json i valori delle opzioni da caricare nella tendina collegata.

Una volta che tutte le tendine sono ok potrai fare il submit è sbattere i dati dove vuoi.
Top
Profilo Invia messaggio privato
ladycrys
Comune mortale
Comune mortale


Registrato: 08/08/10 16:54
Messaggi: 3

MessaggioInviato: 08 Ago 2010 20:09    Oggetto: Rispondi citando

Ciao e grazie per la risposta^^
Il problema è che di AJAX non capisco nulla, ho iniziato solo ora a programmare Sad
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 20:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 09 Ago 2010 11:02    Oggetto: Rispondi citando

Ciao,
purtroppo ho poco tempo e non riesco a scriverti del codice di esempio.
Ti segnalo però qui un 3d in cui faccio vedere come si fanno le chiamate ajax extra-dominio.
Lasciando perdere il problema c'è il codice javascript per fare le chiamate asincrone.
Sicuramente può tornarti utili la creazione dell'oggetto XMLHttpRequest che è di fatto l'unico oggetto in gioco quando si parla di ajax.

Dovrai preparare la funzione javascript per popolare le combo e le 3 per fare le chiamate ajax.

Mi spiace ma per ora riesco a fornirti solo questo.
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 11568
Residenza: Tokelau

MessaggioInviato: 09 Ago 2010 13:37    Oggetto: Rispondi citando

comunque non hai bisogno di AJAX per fare una cosa così semplice: prepari le tre select e le metti in 3 div diversi: il primo è visibile e gli altri 2 nascosti.
Poi a seconda di cosa selezioni dal primo select mostri il secondo oppure il terzo div.
Magari in un 4° div metti anche il pulsante di submit, oppure ne metti due uguali uno nel secondo e uno nel terzo div.
Top
Profilo Invia messaggio privato HomePage
ladycrys
Comune mortale
Comune mortale


Registrato: 08/08/10 16:54
Messaggi: 3

MessaggioInviato: 11 Ago 2010 20:31    Oggetto: Rispondi citando

SverX ha scritto:
comunque non hai bisogno di AJAX per fare una cosa così semplice: prepari le tre select e le metti in 3 div diversi: il primo è visibile e gli altri 2 nascosti.
Poi a seconda di cosa selezioni dal primo select mostri il secondo oppure il terzo div.
Magari in un 4° div metti anche il pulsante di submit, oppure ne metti due uguali uno nel secondo e uno nel terzo div.



Perdonate il ritardo con cui scrivo ma avevo perso di nuovo i dati U_U non ho parole..

Comunque..scusa la nabbaggine ma..cosa intendi dire con "nascosti!"?

In attesa di un'eventuale risposta mi leggo anche il topic consigliatomi Very Happy
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 11568
Residenza: Tokelau

MessaggioInviato: 12 Ago 2010 15:01    Oggetto: Rispondi

i div hanno un attributo display, può essere settato a none e quindi non mostrati. E cercando su Google ho appena scoperto che esiste anche l'attributo visibility che può essere hidden o visible...
Top
Profilo Invia messaggio privato HomePage
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Linguaggi per Internet Tutti i fusi orari sono GMT + 1 ora
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi