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

    piccolo motore di ricerca

    Sto creando un form che faccia la ricerca in un db mysql.

    la ricerca deve essere fatta per:
    nome
    cognome
    sesso
    codice fiscale
    azienda

    e in base alla data di registrazione sul database

    funzionana tutto ad eccezione della data. Dal form indico i due periodi di ricerca (esempio dal 20/10/2007 al 20/12/2007) ma non mi da il risultato desiderato, perchè?
    Il codice relativo è quello rosso

    codice:
    <%
        	Dim daticliente
        	Set daticliente = Server.CreateObject("ADODB.Recordset")
        	Dim SQLdaticliente
    		nome = Request.form("nome")
    		cognome = Request.form("cognome")
    		idazienda = Request.form("idazienda")
    		cfiscale = Request.form("cfiscale")
    		idcliente = Request.querystring("idcliente")
    		sesso = Request.form("sesso")
    inserimento1 = Request.Form("datainserimento1")
    If IsDate(inserimento1) then
    giornoinserimento1 = Mid(inserimento1,1,2)
    meseinserimento1 = Mid(inserimento1,4,2)
    annoinserimento1 = Mid(inserimento1,7,4)
    Dim datainserimento1
    datainserimento1 = annoinserimento1 & "/" & meseinserimento1 & "/" & giornoinserimento1
    else
    datainserimento1 = ""
    end if
    inserimento2 = Request.Form("datainserimento2")
    If IsDate(inserimento2) then
    giornoinserimento2 = Mid(inserimento2,1,2)
    meseinserimento2 = Mid(inserimento2,4,2)
    annoinserimento2 = Mid(inserimento2,7,4)
    Dim datainserimento2
    datainserimento2 = annoinserimento2 & "/" & meseinserimento2 & "/" & giornoinserimento2
    else
    datainserimento2 = ""
    end if     	SQLdaticliente = "SELECT * FROM clienti where 1=1 and idoperatore = '"&Session("idoperatore")&"'"
    		if (nome <> "") then
    		SQLdaticliente = SQLdaticliente & " and (nome='" & nome & "')"
    		end if
    		if (cognome <> "") then
    		SQLdaticliente = SQLdaticliente & " and (cognome='" & cognome & "')"
    		end if
    		if (idazienda <> "") then
    		SQLdaticliente = SQLdaticliente & " and (idazienda='" & idazienda & "')"
    		end if
    		if (cfiscale <> "") then
    		SQLdaticliente = SQLdaticliente & " and (cfiscale='" & cfiscale & "')"
    		end if
    		if (idcliente <> "") then
    		SQLdaticliente = SQLdaticliente & " and (idcliente='" & idcliente & "')"
    		end if
    		if (sesso <> "") then
    		SQLdaticliente = SQLdaticliente & " and (sesso='" & sesso & "')"
    		end if
    		
    		if (datainserimento1 <> "" AND datainserimento2 <> "") then
        	SQLspettacolo = SQLdaticliente & " and (datainserimento >= '"&datainserimento1&"' and datainserimento <= '"&datainserimento2&"')"
    		end if 		if (nome <> "") AND (cognome <> "") AND (idazienda <> "") AND (cfiscale <> "") AND (idcliente <> "") AND (sesso <> "") AND (datainserimento1 <> "") AND (datainserimento2 <> "")   THEN
    		SQLdaticliente = "SELECT * FROM clienti where 1=1 and idoperatore = '"&Session("idoperatore")&"'"
    		end if
    		SQLdaticliente = SQLdaticliente & " ORDER BY idcliente"
        	conn22.Execute(SQLdaticliente)
        	daticliente.Open SQLdaticliente, conn22
    		%>
    Scambio link

  2. #2
    up
    Scambio link

  3. #3
    proprio nessuno nessuno???
    Scambio link

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ma le date nel db in che formato sono???
    vedo che le tratti come stringhe...

    Roby

  5. #5
    no è un campo data, il db è mysql quindi dal classico inserimento gg/mm/aaaa la converto in aaaa/mm/gg
    Scambio link

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Stampati la query....

    Roby

  7. #7
    stampando la query non mi da alcun valore relativi i form delle date
    Scambio link

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ma dentro questa

    If IsDate(inserimento1) then

    ci entra?

    Roby

  9. #9
    le date dal form le passa correttamente credo che l' errore principale sia qui

    codice:
    		if (datainserimento1 <> "" AND datainserimento2 <> "") then
        	SQLspettacolo = SQLdaticliente & " and (datainserimento >= '"&datainserimento1&"' and datainserimento <= '"&datainserimento2&"')"
    		end if
    Scambio link

  10. #10
    datainserimento nella stringa precedente è il campo memorizzato nel database
    Scambio link

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.