Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Logica di programmazione

    Ciao a tutti,
    ho una domanda da farvi che più che la parte tecnica riguarda la parte logica di programmazione (oggi sono proprio VVoVe: )...
    Devo creare un piccolo motore di ricerca interno costitutito da una select "categoria", una "sottocategoria", una "marca ed infine un campo di ricerca testuale.
    Nella pagina cerca.asp recupero i valori dei campi del form però poi che tipo di ciclo uso per le varie opzioni? Mi spiego potrei avere la categoria, la sottocategoria, la marca ed il testo oppure nessuna delle quattro o ancora la categoria ed il testo .... ossia centinaia di combinazioni (e di SELECT diverse)!
    Scartando un costrutto If Else End if (troppo lungo), voi come risolvereste il problema?

    Ciao e grazie
    Fabio

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367

    Re: Logica di programmazione

    Originariamente inviato da fabiosh75
    Scartando un costrutto If Else End if (troppo lungo), voi come risolvereste il problema?
    senza if proprio non saprei
    e perché dici che sarebbe troppo lungo?
    sarebbe una cosa tipo questa
    codice:
    sql = "SELECT * FORM NomeTabella"
    where=""
    sep=""
    if Request.Form("CategoriaId")<>"" then
      where=where & sep & "CategoriaId=" & Request.Form("CategoriaId")
      sep = " AND "
    end if
    if Request.Form("SottoCategoriaId")<>"" then
      where=where & sep & "SottoCategoriaId=" & Request.Form("SottoCategoriaId")
      sep = " AND "
    end if
    ...
    ...
    if where<>"" then sql=sql & " WHERE " & where

  3. #3
    se fa così

    codice:
    ssql = "select campi from tabella where 1=1 " ' attenzione allo spazio finale
    poi controlli il resto

    codice:
    if qualcosaltro then
       ssql = ssql & " AND qualcosaltro "
    End if
    e cosi' via

  4. #4
    Ciao e grazie per le risposte!
    Forse però non mi sono spiegato bene... io ho 4 variabili (categoria, sottocategoria, marca e testo libero), ora 4 variabili possono creare moltissime combinazioni (es. l'utente può avere selezionato la categoria, ma non la sottocategoria e la marca ed invece il testo libero si per cui la mia SELECT deve tener conto solo della categoria e del testo libero), la mia domanda è come faccio a gestire le decine di combinazioni che si possono creare con questi 4 valori? :master:
    Spero di aver spiegato bene il mio problema, che ripeto è solo di logica strutturale e non di applicazione pratica.

  5. #5
    I suggerimenti che ti hanno dato willy e optime sono quelli che fanno al caso tuo.
    Le combinazioni di variabili, le gestisci in funzione della loro valorizzazione o meno, per cui gli IF proposti da optime nllo specifico sono quelli che ti servono, per costruire la tua query di ricerca.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.