Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    query parametrica.. che guaio

    ciao, mi stò intorcigliando io e una query parametrica..
    immaginate 5 campi, alcuni di questi sono delle combo ma non ha importanza.. l'utente seleziona le item o compila questi campi per interrogare il database..
    Il problema stà proprio qui.. l'utente sceglie ad esempio di cercare i record che hanno il campo nome = textbox_nome, gli altri campi li lascia vuoti.. quando l'utente andrà a cercare non troverà nulla perchè la query si è costruita in questo modo:
    codice:
    select nome,cognome,citta,residenza,nazione from tabella where nome = 'valore immesso' and cognome ='' and citta = '' and residenza = '' and nazione = ''
    Voi mi direte.. è chiaro devi sostituire l'AND con l'OR..
    Bene, lo sostituisco.. cosa succede? semplicemente che parametrizzando una query in questo modo:
    codice:
    select nome,cognome,citta,residenza,nazione from tabella where nome = 'giovanni' or cognome = '' or citta = 'Pisa' or residenza = '' or nazione = ''
    non mi verranno trovate solo le persone il cui nome è giovanni e che vivono a Pisa ma anche tanti altri.. molto probabilmente perchè non cerco l'accoppiata nome e citta ma semplicemente nome o citta..
    .. secondo voi che c'è da fà?

  2. #2
    codice:
    una serie di IF sui campi del form che costruiscono man mano il filtro della tua query

  3. #3

  4. #4
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da saltodifondi
    codice:
    una serie di IF sui campi del form che costruiscono man mano il filtro della tua query
    a bello ci avevo già pensato, però poi è un casino con gli and.. non mi piace molto questa soluzione... ma se è l'unica..

  5. #5
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    aghrrrr!! ribadisco.. non mi piace come metodo.. funziona ma non mi piace.. metti che i campi sono 100 diventa un casino fare la query, perchè poi devi controllare (magari come ho fatto io) con una variabile booleana se c'è bisogno o meno dell'AND ma!?..
    Sicuri che non ci sono altre vie ?

  6. #6
    purtroppo per quello che vuoi fare tu la soluzione più immediata che mi viene in mente è quella!
    devi analizzare prima i valori ricevuti dai moduli (per non avere sorprese) e di conseguenza costruire la query. comunque se i valori (come dici tu) sono 100 o più, potresti caricare un array e con un ciclo li controlli tutti, non mi sembra la fine del mondo. purtroppo non conoscendo esattamente il problema, non mi vengono in mente soluzioni alternative.
    <head> Nothing! </head>
    <body> Open your mind and close your ass !!! </body>

  7. #7
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da salvodibella
    purtroppo per quello che vuoi fare tu la soluzione più immediata che mi viene in mente è quella!
    devi analizzare prima i valori ricevuti dai moduli (per non avere sorprese) e di conseguenza costruire la query. comunque se i valori (come dici tu) sono 100 o più, potresti caricare un array e con un ciclo li controlli tutti, non mi sembra la fine del mondo. purtroppo non conoscendo esattamente il problema, non mi vengono in mente soluzioni alternative.
    bhè si.. in realtà quello che cercavo era qualcosa di dinamico.. anche con l'array insomma se i campi di selezione cambiano devo mettere mano al codice.. vabbè dai faccio il controllo a mano

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.