Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374

    Ricerca su colonna selezionabile

    Ho creato un sistema di ricerca dove, nella teoria, un select permette all'utente di scegliere la colonna del database su cui effettuare la ricerca.
    codice:
    rs.Source = "SELECT * FROM 
    archivio WHERE "+opzione+" LIKE '%"&ricerca&"%' ORDER BY nome ASC"
    Però pare che non tenga conto del select:
    codice:
    <select name="tiporicerca" id="tiporicerca">
            <option value="nome, genere, cont_alt">In tutto il database</option>
            <option value="nome">Per nome</option>
            <option value="genere">Per genere</option>
            <option value="cont_alt">Per contenuti alternativi</option>
           </select>
    Dov'è che sbaglio?

  2. #2
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    opzione sarebbe il value della select?
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  3. #3
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Si, come valore ho messo il nome dalla colonna

  4. #4
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    se stampi il sql cosa ti appare?

  5. #5
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Adesso mi da questo errore:
    Tipo di errore:
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
    [Microsoft][Driver ODBC Microsoft Access]Tipo di errore:
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
    [Microsoft][Driver ODBC Microsoft Access] Errore di sintassi (operatore mancante) nell'espressione della query 'LIKE '%§%''.
    /archivio cinematografico/default.asp, line 22
    ma prima semplicemente non mostrava niente...non capisco perchè! In più mi mostra delle stringhe del codice in alto della pagina che prima non c'erano! Ho sostituito le virgole con AND, ma da errore lo stesso...

  6. #6
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    devi splittare il value e costruirti dinamicamente la query perchè questo non si può fare
    nome, genere, cont_alt LIKE '%ac%'
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  7. #7
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Le virgole sono state un errore...

  8. #8
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Ho provato con una funzione:
    codice:
    Dim ricerca, rs, rs_numRows, prestito, opzione, sql
    
    opzione = request.querystring("tiporicerca")
    
    function selsezione(opzione)
    select case opzione
      case "1"
        sql = "SELECT * FROM archivio WHERE nome AND genere AND cont_alt LIKE '%"&ricerca&"%' ORDER BY nome ASC"
      case "2"
        sql = "SELECT * FROM archivio WHERE nome LIKE '%"&ricerca&"%' ORDER BY nome ASC"
      case "3"
        sql = "SELECT * FROM archivio WHERE genere LIKE '%"&ricerca&"%' ORDER BY nome ASC"
      case "4"
        sql = "SELECT * FROM archivio WHERE cont_alt LIKE '%"&ricerca&"%' ORDER BY nome ASC"
    end select
    end function
    
    If (Request.QueryString("cerca") <> "") Then 
      ricerca = Request.QueryString("cerca")
      else
    ricerca = "§"
    End If
    
    ricerca = Replace(ricerca, "'", "''")
    
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.ActiveConnection = MM_archivio_STRING
    rs.Source = selsezione(opzione)
    rs.CursorType = 0
    rs.CursorLocation = 2
    rs.LockType = 1
    rs.Open()
    E mi da
    Tipo di errore:
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E0C)
    Testo del comando non impostato per l'oggetto comando.
    /archivio cinematografico/default.asp, line 35

  9. #9
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Nessuno sa dirmi qualcosa?

  10. #10
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    aggiungi la riga sottolineata in rosso:
    codice:
    function selsezione(opzione)
    select case opzione
      case "1"
        sql = "SELECT * FROM archivio WHERE nome AND genere AND cont_alt LIKE '%"&ricerca&"%' ORDER BY nome ASC"
      case "2"
        sql = "SELECT * FROM archivio WHERE nome LIKE '%"&ricerca&"%' ORDER BY nome ASC"
      case "3"
        sql = "SELECT * FROM archivio WHERE genere LIKE '%"&ricerca&"%' ORDER BY nome ASC"
      case "4"
        sql = "SELECT * FROM archivio WHERE cont_alt LIKE '%"&ricerca&"%' ORDER BY nome ASC"
    end select
    selselezione = sql 
    end function

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.