Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    174

    Problema con estrazione dati

    Ciao a tutti,

    Qualcuno può aiutarmi?

    Da questo motore interno di ricerca, io inserisco nel campo input un codice e mi tira fuori tutti i codici che iniziano per categoria...con l'operatore like %...fin qui tutto bene.

    codice:
    <%
    
    Dim Cerca
    
    Cerca = Replace(Request.Form("search"), "'", "")
    
    if Cerca = "" then
    
    Response.write ""
    Response.end
    
    end if
    
    Dim DbPath, Conn
    
    DbPath="/db/db.mdb"
    Set Conn = Server.CreateObject("ADODB.Connection")
    
    Conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DbPath)
    
    Dim strSQL,Rs
    
    strSQL = "Select * from Dati2 where code like '%" & Cerca & "%' or ID like '%" & Cerca & "%' or description like '%" & Cerca & "%' order by code asc"
    
    Set Rs = Server.CreateObject("ADODB.Recordset")
    
    Rs.Open strSQL, Conn, 3, 3
    
    
    if Rs.EOF then
    
    Response.write "Nessun risultato trovato!"
    else
    
    Do while NOT Rs.EOF
    
    %>
          
             <%=Server.HTMLEncode(rs("concorrente"))%>
             <%=Server.HTMLEncode(rs("code"))%>
             <%Response.write "" & Rs ("description") & "" & ""%>
             <%Response.write "" & Rs ("code_oem") & "" & ""%>
             <%Response.write "" & Rs ("grammi_sea") & "" & ""%>
             <%Response.write "" & Rs ("grammi_con") & "" & ""%>
             <%Response.write "" & Rs ("price") & "" & ""%>
    
    <%
    Rs.MoveNext  
    
    Loop  
    
    End If
    
    Rs.close
    
    Set Rs = Nothing
    
    Conn.close
    
    Set Conn = Nothing
    %>

    Perchè poi inserendo questa query dopo le response, che mi calcola una percentuale su ogni record, mi estrae solo 1 record e non tutti i record per categoria???


    codice:
       
    <%
    
    Dim Cerca
    
    Cerca = Replace(Request.Form("search"), "'", "")
    
    if Cerca = "" then
    
    Response.write ""
    Response.end
    
    end if
    
    Dim DbPath, Conn
    
    DbPath="/db/db.mdb"
    Set Conn = Server.CreateObject("ADODB.Connection")
    
    Conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DbPath)
    
    
    Dim strSQL,Rs
    
    
    strSQL = "Select * from Dati2 where code like '%" & Cerca & "%' or ID like '%" & Cerca & "%' or description like '%" & Cerca & "%' order by code asc"
    
    
    Set Rs = Server.CreateObject("ADODB.Recordset")
    
    Rs.Open strSQL, Conn, 3, 3
    
    
    if Rs.EOF then
    
    Response.write "Nessun risultato trovato!"
    else
    
    Do while NOT Rs.EOF
    
    %>
    
          
             <%=Server.HTMLEncode(rs("concorrente"))%>
             <%=Server.HTMLEncode(rs("code"))%>
             <%Response.write "" & Rs ("description") & "" & ""%>
             <%Response.write "" & Rs ("code_oem") & "" & ""%>
             <%Response.write "" & Rs ("grammi_sea") & "" & ""%>
             <%Response.write "" & Rs ("grammi_con") & "" & ""%>
             <%Response.write "" & Rs ("price") & "" & ""%>
             <%set rs=conn.execute ("Select MIN(prezzo_concorrenza) as minimo from Dati2 WHERE code LIKE '%" & Cerca & "%' ")%><%response.write ""&rs("minimo")%>
             <%set rs=conn.execute ("Select MIN(((prezzo_concorrenza) *0.7)*0.95)*0.9 as minimo from Dati2 WHERE code LIKE '%" & Cerca & "%' ")%><%Response.write ""&rs("minimo")%>
    
    <%
    Rs.MoveNext  
    
    Loop  
    
    End If
    
    Rs.close
    
    Set Rs = Nothing
    
    Conn.close
    
    Set Conn = Nothing
    %>

  2. #2
    ma perché mischi sempre le cose? cosa c'entrano quelle due select dentro le response.write? sistema la prima select, visto che peschi sempre da Dati2... ragiona michelino, ragiona

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    174
    Ciao Optime,

    Eh eh ...infatti è quello che sto cercando di fare.

    In effetti quella query l'ho trovato in rete già bella e pronta...ma non fa proprio al caso mio.

    Come dovrei impostarla allora? invertire le cose? tipo:

    strSQL = "Select * from Dati2 where (prezzo_concorrenza) as minimo from Dati2 WHERE code LIKE '%" & Cerca & "%' ")%> ???? e poi la Select MIN??? dove l'ha metto?
    codice:
    
    
    
    ("Select MIN(prezzo_concorrenza) as minimo from Dati2 WHERE code LIKE '%" & Cerca & "%' ")%>
    
    
    ("Select MIN(((prezzo_concorrenza) *0.7)*0.95)*0.9 as minimo from Dati2 WHERE code LIKE '%" & Cerca & "%' ")%>

  4. #4
    michelino, dicci cosa vuoi fare

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    174
    Quello che faccio ora.

    Il problema è che mi estrae solo 1 record.

    Faccio un esempio:

    campo input: scrivo il codice T100SA24 (televisore samsung 24")
    e mi tira fuori il record ok

    ma se scrivo : T100SA....non mi estrae tutti i codici per categoria:

    Es: T100SA19 - T100SA22 - T100SA24 - T100SA32 - T100SA40 - T100SA46 ETC...

    Con La prima pagina postata...mi funziona tutto.


    Con la seconda pagina asp ho fatto una modifica...perchè mi serve avere come valore per ogni record una percentuale (che ho inserito nella query)
    prezzo minimo *0.70 * 0.95 * 0.90
    Immagini allegate Immagini allegate

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    codice:
    <%set rs=conn.execute ("Select MIN(prezzo_concorrenza) as minimo from Dati2 WHERE code LIKE '%" & Cerca & "%' ")%><%response.write ""&rs("minimo")%>
             <%set rs=conn.execute ("Select MIN(((prezzo_concorrenza) *0.7)*0.95)*0.9 as minimo from Dati2 WHERE code LIKE '%" & Cerca & "%' ")%><%Response.write ""&rs("minimo")%>
    I rs in grassetto li cambierei per scrupolo sia mai che vadano in conflitto con l'atro Rs già aperto, poi cos'è prezzo_concorrenza una variabile o un campo della tabella?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    perché non metti tutto nella query principale? e comunque, continuo a non capire. fa' un esempio (del tipo: ho questi dati nel db, vorrei questi dati in output)

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    174
    Però con questo tipo di query non estraggo solo il campo "prezzo_concorrenza"????

  9. #9
    dai, facci un esempio...

  10. #10
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,563
    Chiama i recordset in modo diverso...

    Roby

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