Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Richiesta di aiuto a tutti gli astuti programmatori di pagin

Hai problemi con i file Zip, vuoi formattare l'HD, non sai come funziona FireFox? O magari ti serve proprio quel programmino di cui non ricordi il nome! Ecco il forum dove poter risolvere i tuoi problemi.

Moderatori: Dylan666, hydra, gahan

Postdi Swalke » 15/01/02 04:43

Si tratta di una cosa un po' complicata che la mia poca esperienza, ancora non mi permette di risolvere. :-?
Io ho un database con 11 campi e voglio costruire una pagina con un form, in cui uno può inserire 11 parametri relativi ognuno a un campo, e questi parametri estraggono i record che li rispettano.
Il problema fondamentalmente è uno.
Non tutti i parametri devono essere messi per forza (si può lasciare vuoto quello relativo al 2° campo, al 6° e al 7° o altri ancora).
Questo significa che ognuno degli 11 parametri può essere immesso o meno, per un totale di 2 alla 11 casi di interrogazione SQL diversi.:o
Capiretr anche tu che scrivere 2048 interrogazioni diverse, non è il comportamento di un normale essere umano consenziente... :-?

Come posso fare a gestire un lavoro del genere facendo ricevere tutti i parametri ad un unica pagina ASP che mi mostra il risultato della ricerca?
Se non con l'ASP come posso fare?

Vi prego aiutatemi!!!
Avatar utente
Swalke
Hardware Admin
 
Post: 820
Iscritto il: 26/10/01 01:00
Località: Milano

Sponsor
 

Postdi Triumph Of Steel » 15/01/02 07:40

beh, scusa .. se tu fai la query al DB, tu metti

INSERT INTO tabella VALUE ('nomecampo1','nomecapmo2'....) ecc...

ovvio che nel DB devi settare che può essere NULL quello non obbligatorio...

almeno... se ho capito bene...

oppure usi degli "If"
Avatar utente
Triumph Of Steel
Moderatore
 
Post: 7852
Iscritto il: 22/08/01 01:00

Postdi kadosh » 15/01/02 07:50

Ma 2^11 di cosa? Non ti ho proprio capito, parli di un motore di ricerca associato al DB? O altro? ;)
Ch®is ˜˜ www.glgroup.it˜˜ {~Up You® Life~}™ Semper Fidelis
Avatar utente
kadosh
Moderatore
 
Post: 3791
Iscritto il: 24/09/01 01:00
Località: Roma

Postdi Swalke » 15/01/02 09:02

Lo so che devo settare i null. Il problema è che l'utente, potendo inserire 11 parametri oppure 10 oppure 9 oppure 8......oppure 1, ho 2 alla 11 interrogazioni di ricerca diverse!!!
Provate a fare tutte le possibili combinazioni e vedrete. La prima è il primo parametro non inserito e tutti gli altri inseriti, la seconda è il secondo non inserito e tutti gli altri inseriti... la millesima potrebbe essere il terzo, il quinto il sesto e il settimo non inseriti e tutti gli altri inseriti.
Mi ritrovo a dover scrivere 2^11 diverse interrogazioni, per poter gestire i 2 alla 11 differenti inserimenti!!!
IF il primo parametro non è inserito l'interrogazione sarà x
....
....
IF il secondo e il terzo e il nono parametro non sono stati inseriti l'interrogazione sarà y
e così via...
2048 casi diversi.
E' impensabile mettersi a scrivere 2048 sql per tutti i casi!!!
Ora sono riuscito a spiegarmi?
Le possibilità sono 2^11 perchè ho 11 parametri che possono essere inseriti oppure no, ovvero possono assumere due "stai", inserito oppure no.

Deve esserci un altra soluzione!!!
Avatar utente
Swalke
Hardware Admin
 
Post: 820
Iscritto il: 26/10/01 01:00
Località: Milano

Postdi Triumph Of Steel » 15/01/02 19:35

Fammi capire bene.. le interrogazioni che fai sono quando un utente ha già inviato il form, e quindi devi prenderti i valori dal DB che lui ha inserito???
Avatar utente
Triumph Of Steel
Moderatore
 
Post: 7852
Iscritto il: 22/08/01 01:00

Postdi Swalke » 15/01/02 20:21

Hai capito perfettamente!!!

Ma io non posso scrivere un codice con 2048 vrsioni di interrogazioni selezionabili da degli IF. O meglio, potrei ma è un lavoro da sadomasochisti!!!

Spero di essere riuscito a far capire quale è il problema, al massimo ditemelo che vi faccio un esempio pratico.
Avatar utente
Swalke
Hardware Admin
 
Post: 820
Iscritto il: 26/10/01 01:00
Località: Milano

Postdi kadosh » 15/01/02 21:24

Io la vedo molto semplice: impongo delle restrizioni nel Form altrimenti il Form non viene inviato...perchè devo crearmi tutto quel casino se non serve. Se si parla di Form è un conto, ma se sono dei semplici Option o Check Button la faccenda è ancora più semplice ;)
Ch®is ˜˜ www.glgroup.it˜˜ {~Up You® Life~}™ Semper Fidelis
Avatar utente
kadosh
Moderatore
 
Post: 3791
Iscritto il: 24/09/01 01:00
Località: Roma

Postdi Swalke » 15/01/02 22:36

kadosh, temo che tu non abbia capito, quindi ti faccio un esempio:
Supponi di avere un form cun 2 text field in cui inserire:
Nome del giocatore.
Nome squadra del giocatore.
per effettuare la ricerca nel database.
Tu potresti voler conoscere solo i giocatori di una squadra:
Allora l'SQL sarebbe "WHWRE Squadra= quello che metti tu.
Oppure tutti i giocatori di nome Pino:
Allora l'SQL sarebbe "WHWRE Giocatore= quello che metti tu (Pino).
Ma potresti anche voler cercare i giocatori Pino che giocano nel atalanta:
Allora l'SQL sarebbe "WHWRE Giocatore= quello che metti tu (Pino). AND Squadra=Atalanta.

L'interrogazione cambia in base a quanti parametri l'utente mette.
Come vedi, in questo caso, abbiamo 2^4 casi , meno il caso in cui tutti i parametri non sono stati inseriti (ovviamente) Quindi 3 casi.
Se i Text Field fossero invece 11, avresti 2^11 casi diversi di inserimento meno quello con nessun campo inserito = 2047 casi.

Capito adesso? Io non posso mettermi a scrivere 2047 interrogazioni diverse, in base se uno vuole ricercare solo il nome, oppure in base al nome e il cognome, oppure in base al nome, l'età, ma non il cognome e via dicendo...
Devo trovare un altro modo.
Per esempio far si che l' SQL si generi da solo in base ai soli parametri che l'utente ha inserito. Ma non credo che una cosa del genere sia fattibile.
Avatar utente
Swalke
Hardware Admin
 
Post: 820
Iscritto il: 26/10/01 01:00
Località: Milano

Postdi Triumph Of Steel » 16/01/02 00:35

Allora puoi fare così...

// Query Principale
stringaSQL = "SELECT * FROM tabella WHERE "

// Controlla che sia scritto il campo obbligatorio
If NomeCampo1 <>"" Then
stringaSQL = StringaSQL & "campoTabella = NomeCampo1"
else
response.write("Campo non Compilato")
EndIf

// Controlla altri campi
If NomeCampo2 <>"" Then
stringaSQL = StringaSQL & " AND campoTabella = NomeCampo2"

If NomeCampo3 <>"" Then
stringaSQL = StringaSQL & " AND campoTabella = NomeCampo3"
EndIf

ecc....

giusto???
Avatar utente
Triumph Of Steel
Moderatore
 
Post: 7852
Iscritto il: 22/08/01 01:00

Postdi kadosh » 16/01/02 02:36

TOS...però dovresti andare anche a controllare con l'IF quello che ha scritto nelle Query precedenti dato che lui vuole fare una ricerca...no? ;)
Ch®is ˜˜ www.glgroup.it˜˜ {~Up You® Life~}™ Semper Fidelis
Avatar utente
kadosh
Moderatore
 
Post: 3791
Iscritto il: 24/09/01 01:00
Località: Roma

Postdi Swalke » 16/01/02 04:29

Forse Triumph Of Steel, hai risolto il mio problema!!!
Vista così sembra funzionare.
Così devo valutare soltanto 11 IF e in base alla presenza o assenza dei parametri, salta fuori la mia variabile SQL.
Visto così non fa una grinza.
Provo a usare questo metodo e poi vi faccio sapere!!!
Grazie comunque a tutti!!!
Avatar utente
Swalke
Hardware Admin
 
Post: 820
Iscritto il: 26/10/01 01:00
Località: Milano

Postdi Swalke » 16/01/02 04:33

Kadosh, non esistono query precedenti!!!
In questo modo vi è una variabile sql che si aggirna al passaggio in ogni IF e si incrementa di un parametro (nel WHERE) in base a se questo è stato inserito o meno.

Grazie comunque!!!
Avatar utente
Swalke
Hardware Admin
 
Post: 820
Iscritto il: 26/10/01 01:00
Località: Milano

Postdi kadosh » 16/01/02 07:22

Swalke...per Query precedenti intendevo il conglobamento della variabile iniziale nelle susseguenti...lo stesso concetto in altre parole ;)
Ch®is ˜˜ www.glgroup.it˜˜ {~Up You® Life~}™ Semper Fidelis
Avatar utente
kadosh
Moderatore
 
Post: 3791
Iscritto il: 24/09/01 01:00
Località: Roma

Postdi Triumph Of Steel » 16/01/02 08:04

In data 15/01/02 19:36, kadosh ha scritto:

TOS...però dovresti andare anche a controllare con l'IF quello che ha scritto nelle Query precedenti dato che lui vuole fare una ricerca...no? ;)



x Kadosh

la stringa:

StringaSQL = StringaSQL & ****

significa

StringaSQL è uguale a quella precedente + quella che ti dico io... nuova...
Avatar utente
Triumph Of Steel
Moderatore
 
Post: 7852
Iscritto il: 22/08/01 01:00

Postdi kadosh » 16/01/02 17:02

TOS...i'm sorry....hai le tue ragioni...le mie erano...un colpo di sonno eheheh ;)
Ch®is ˜˜ www.glgroup.it˜˜ {~Up You® Life~}™ Semper Fidelis
Avatar utente
kadosh
Moderatore
 
Post: 3791
Iscritto il: 24/09/01 01:00
Località: Roma

Postdi Swalke » 19/01/02 18:00

Ciau a tutti!!!
Scrivo solo per ringraziarvi!!!

La dritta di T.O.S. ha funzionato a meraviglia!!! :D

Grazie a tutti e
Ciao!!!
Avatar utente
Swalke
Hardware Admin
 
Post: 820
Iscritto il: 26/10/01 01:00
Località: Milano


Torna a Software Windows


Topic correlati a "Richiesta di aiuto a tutti gli astuti programmatori di pagin":


Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti