44 messaggi dal 21 settembre 2001
Ciao a tutti,
Ho bisogno di una mano,
Sto cercandi di creare delle pg asp che mi prendano delle domande e le relative risposte da un db e fin qui nessun problema, quando l'utente risponde alle domande e invia la pg al server questo le dovrebbe controllare e rispondere con la risposta esatta.
IL db 2 tab una domande dove dentro trovo IDDomanda e Domanta una seconda tab. con le risposte dove trovo IDRisposte, IDdomante relazionato con lo stesso nella tab domante, un campo vero falso e la risposta. Ora La pg delle domande e construita con dei move.next in maniera che tramite alla relazione mi inserirà nella pagina la domanda con 2 risposte e accanto una select ora quando invio il form mi inoltra l'id della risposta e la risposta tramite select ho creato la query che controlla che idrisposta e select siano uguali nella tab del DB e a questo punto mi dovrebbe dare tutte le risposte ed è qui che ho il problema come facci a farmi dare tutte le risposte? spero che qualcuno puo aiutarmi.
879 messaggi dal 09 luglio 2002
www.i-studio.it
Non e' che ho capito molto bene quello che hai scritto...
Tu hai un'unica pagina con tutte le domande e per ognuna di queste hai due possibili scelte per la risposta (cioe' vero e falso), giusto?
E quando l'utente completa questo questionario vorresti mostrare non solo le risposte giuste ma anche quelle che ti ha indicato l'utente, corretto?
Se e' cosi', non ti basta mostrare semplicemente il valore dei "radio" (immagino che hai usato dei campi "radio") che l'utente ha selezionato per ogni domanda?
Se non e' cosi'... non ho capito la tua domanda!

Ciao
Alex

Internetworking Studio Srl
www.i-studio.it
44 messaggi dal 21 settembre 2001
grazie alex hai ragione non credo di essermi spiegato bene,
la prima parte è come tu hai capito dopo di che io vorrei confrontare le risposte dell'utente con quelle contenute nel Db e a quelle errate rispondergli con la risposta giusta contenuta ned db.
879 messaggi dal 09 luglio 2002
www.i-studio.it
Secondo me, la cosa migliore è che fai una query che per ogni domanda ti tira fuori la risposta esatta. Poi, scorrendo i vari record, confronti la risposta esatta con quella data dall'utente. Se non coincidono, mostri quella che ha dato l'utente e quella esatta.
Per la query, non ho capito bene come e' la struttura del tuo DB... per ogni domanda dove memorizzi la risposta corretta?

Ciao
Alex

Internetworking Studio Srl
www.i-studio.it
44 messaggi dal 21 settembre 2001
credo che il problema sia nella memorizazione
Il db è cosi composto
Tab Esercizi: IDDomanda (Contatore)
Domanda (VarChar)

Tab Risposta IDRisposta (Contatore)
IDDomanda (Intero)
Risposta (VarChar)
Vero falso (Bit)
Risposta Esatta (Varchar)
Pg 1 query seleziona domande e visualizzo le domande con un move.Next all'interno del move.next creo un secondo recordset e una nuova query dove dato l'idDomanda seleziona le risposte in più aggiungo un campo select con "seleziona, Si =1 No=0" e creo un secondo move.next incluso nel primo il tutto in un form, nella pg della risposta con un request.form mi ricavo tutte le risposte mandatemi dalla prima pg ed è qui che non riesco a confrontare le risposte con il db perche lui mi confronta la prima ma poi trovando i dati della seconda va giustamente in palla la query che io creo nella 2 pg è "select * from dbo.risposte where id = alla variabile del form and vero_falso = all' altra variabile " ma mi va in palla mentre se nella prima pg non creo i move.Next e quindi invio una risposata alla volta mi funziona
grazie alex
879 messaggi dal 09 luglio 2002
www.i-studio.it
Aspetta, c'e' qualcosa che non mi convince proprio nella struttura dei dati.
La tabella per le domande e' ok. Ora, per ogni domanda io posso avere n possibili risposte. Devo quindi avere una tabella che ha n record per quante sono le possibili risposte ad una domanda. Quindi, mi aspetterei una tabella fatta in questo modo:
idRisposta (contatore)
idDomanda (intero collegato all'idDomanda della tabella Domande)
risposta (varchar che contiene il testo della risposta)

A queste informazioni, posso aggiungere un campo che mi dice quale delle possibili risposte e' quella esatta. Diciamo che questo campo puo' anche essere il campo "vero_falso" che hai tu.

A questo punto, ho bisogno di una ulteriore tabella dove memorizzo per ogni domanda quello che l'utente ha risposto. Se questa tabella e' con questa struttura:
idRispData (contatore)
idDomanda (intero collegato all'idDomanda della tabella Domande)
idRisposta (intero collegato all'idRisposta della tabella Risposte)
utente (per mettere un filtro a tutte le risposte date da tutti gli utenti)

allora, fare quello che serve a te e' facile.
Nella pagina dove esamini il risultato, ti basta fare una join tra le tabelle Domande e Risposte con il campo "vero_falso" uguale a vero (in modo da prendere solo la risposta corretta per ogni domanda). A questo punto, avrai n record (uno per domanda) con l'IDrisposta della risposta corretta. Fai un ciclo e per ogni record verifichi che l'IDrisposta indicato dall'utente corrisponde a quello che hai dalla query. Se e' cosi', l'utente ha indovinato; altrimenti ha sbagliato.

Cosi' mi sembra piu' semplice.
Che ne dici?

Ciao
Alex

Internetworking Studio Srl
www.i-studio.it
44 messaggi dal 21 settembre 2001
Alex hai perfettamente ragione ora ci provo e ti faccio sapere grazie tante

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.