Pagina 4 di 5 primaprima ... 2 3 4 5 ultimoultimo
Visualizzazione dei risultati da 31 a 40 su 49

Discussione: Motore di ricerca asp su db mysql con alcune caratteristiche particolari

  1. #31
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,153
    Perdonami ho fatto questo, ma non ho capito come metterlo nella query:
    codice:
    ricerca = request.form("keywords")
    sek=split(ricerca," ")
    for i=0 to ubound(sek)
    if i>0 then 
    strSQL = strSQL + " OR "
    strSQL = strSQL + "ALFA LIKE '%" & sek(i) & "%'"
    next

  2. #32
    Moderatore di XHTML e HTML L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    18,586
    Quote Originariamente inviata da djjunior Visualizza il messaggio
    Perdonami ho fatto questo, ma non ho capito come metterlo nella query:
    codice:
    ricerca = request.form("keywords")
    sek=split(ricerca," ")
    for i=0 to ubound(sek)
    if i>0 then 
    strSQL = strSQL + " OR "
    strSQL = strSQL + "ALFA LIKE '%" & sek(i) & "%'"
    next
    mettilo coma variabile nella costruzione delle query, e dagli un nome appropriato tipo "varQuery" e non "strSQL"
    where "&varQuery&" ecc...
    visto che splitti gli spazi assicurati che non ci siano spazi doppi tra le parole da cercare. se si tratta di ricerca libera filtra le parole inutili.
    Ultima modifica di Vincent.Zeno; 16-04-2018 a 13:08

  3. #33
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,153
    grazie vincent, un consiglio, dato che la ricerca avviene su moltissime colonne del db (ALFA, BETA, GAMMA etc) come posso fare per non mettere nel ciclo questo? Oppure lasciare il nome della colonna direttamente nella query?
    Per i doppi spazi ok, ma per filtrare le parole da 2 lettere in giù?
    Grazie

  4. #34
    invece di ALFA (come nell'esempio) metti un valore fittizio (es: MYCOLUMN) e poi per ogni variabile farai myQuery=replace(varQuery, "MYCOLUMN", "ALFA") poi farai myQuery=replace(varQuery, "MYCOLUMN", "BETA") e così via

  5. #35
    Moderatore di XHTML e HTML L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    18,586
    Quote Originariamente inviata da djjunior Visualizza il messaggio
    Per i doppi spazi ok, ma per filtrare le parole da 2 lettere in giù?
    codice:
    ricerca = request.form("keywords")
    sek=split(ricerca," ")
    for i=0 to ubound(sek)
    if i>0 and Len(i)>2 then
    strSQL = strSQL + " OR "
    strSQL = strSQL + "ALFA LIKE '%" & sek(i) & "%'"
    next

  6. #36
    codice:
    ricerca = request.form("keywords")
    sek=split(ricerca," ")
    myWHERE = ""
    for i=0 to ubound(sek)
       if len(sek)>2 then
          if i>0 then
             myWHERE = myWHERE + " OR "
          end if
          myWHERE = myWHERE & " myCOLUMN LIKE '%" & sek(i) & "%'"
       end if
    next
    

  7. #37
    Moderatore di XHTML e HTML L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    18,586
    meglio

  8. #38
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,153
    Quote Originariamente inviata da optime Visualizza il messaggio
    codice:
    ricerca = request.form("keywords")
    sek=split(ricerca," ")
    myWHERE = ""
    for i=0 to ubound(sek)
       if len(sek)>2 then
          if i>0 then
             myWHERE = myWHERE + " OR "
          end if
          myWHERE = myWHERE & " myCOLUMN LIKE '%" & sek(i) & "%'"
       end if
    next
    
    Ho errore: Microsoft VBScript runtime error '800a000d'
    Type mismatch

    alla riga: if len(sek)>2 then

    Poi ho fatto:
    codice:
    myQuery1=replace(varQuery, "MYCOLUMN", "NOMEMIACOLONNA")
    codice:
    myQuery2=replace(varQuery, "MYCOLUMN", "NOMEMIACOLONNADUE")
    

    e successivamente:
    codice:
    strSQL = strSQL & "SELECT 'nome_tab' AS nome_db, 'NOMEMIACOLONNA' AS nome_colonna, id AS id_riga, NOMEMIACOLONNA AS Valore "
    strSQL = strSQL & "FROM nome_tab WHERE NOMEMIACOLONNA "&myQuery1&" "
    strSQL = strSQL & "UNION "
    strSQL = strSQL & "SELECT 'nome_tab' AS nome_db, 'NOMEMIACOLONNADUE' AS nome_colonna, id AS id_riga, NOMEMIACOLONNADUE AS Valore "
    strSQL = strSQL & "FROM nome_tab WHERE NOMEMIACOLONNADUE "&myQuery2&" "
    strSQL = strSQL & "UNION "

    Ultima modifica di djjunior; 16-04-2018 a 23:35

  9. #39
    ovviamente

    if len(sek(i))>2 then



  10. #40
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,153
    Grazie, l'inserimento dei valori che ho fatto è ok?

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