Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    193

    Inviare il risultato di 3 select in 1 campo db

    Come posso fare ad inviare il valore di 3 select in 1 solo campo di DB?
    Mi spiego meglio:
    Ho un form per la registrazione utente con varie select e textbox tra cui la data di nascita,per inserire la data di nascita ho creato 3 select in cui uno seleziona il giorno,il mese e l'anno,ora mi servirebbe inviare al DB il campo data in formato testo ma non so come fare a ricomporre il risultato delle 3 select in 1 solo dato in modo che al submit mi popoli il DB.....
    Ho provato a fare una ricerca sul forum ma non ho trovato nulla.
    Grazie

  2. #2
    codice:
    anno=request.form("anno_nascita")
    mese=request.form("mese_nascita")
    giorno=request.form("giorno_nascita")
    
    sql="insert into [tuatabella]([campo data_nascita]) values('" & giorno & "/" & mese & "/" & anno & "')"
    dove anno_nascita, mese_nascita, giorno_nascita sono il nome che hai dato alle tre select nella pagina del form.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    193
    Ho provato a inserire il codice ma non riesco a capire come.
    Questo è il codice che ho io per inserire i dati(creato da dreamweaver):
    codice:
    If (CStr(Request("MM_insert")) = "form_registrazione") Then 
         
    MM_editConnection = MM_conn_utenti_STRING    
    MM_editTable = "tab_utenti"    
    MM_editRedirectUrl = "pagina_profilo.asp"    
    MM_fieldsStr  = "username|value|password|value|email|value|sesso|value|Regioni|value|Provincie|value|paese_residenza|value"    
    MM_columnsStr = "Username|',none,''|Password|',none,''|Email|',none,''|Sesso|',none,''|[Regione residenza]|',none,''|[Provincia residenza]|',none,''|[Comune residenza]|',none,''"
    Come inserisco anche la parte per la data?
    Grazie

  4. #4
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Macromedia? No aspista fai da te? ahi ahi ahi ahi......
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  5. #5
    boh tiriamo a caso:
    codice:
    MM_fieldsStr  = " username|value|password|value|email|valu
     e|sesso|value|Regioni|value|Provincie|va
    lue|paese_residenza|value|giorno_nascita|value|mese_nascita|value|anno_nascita|value"    
    MM_columnsStr = " Username|',none,''|Password|',none,''|Em
    ail|',none,''|Sesso|',none,''|[Regione residenza]|',none,''|[Provincia residenza]|',none,''|[Comune residenza]|',none,''|[GIORNO_NASCITA]',none,''|[MESE_NASCITA]',none,''|[ANNO_NASCITA]',none,''"
    dove giorno_nascita, mese_nascita, anno_nascita sono i nomi delle select nel form, e GIORNO_NASCITA, MESE_NASCITA E ANNO_NASCITA sono i nomi dei campi nel database.

    Non so se funziona perchè non lo uso dw per far codice

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    193
    Lo sò che Dreamweaver incasina molto il codice ma per ora di fare l'aspista fai da tè non ho il tempo!
    Il codice che hai scritto funziona sicuramente solo che il problema è che le select per la data sono 3 e il campo nel DB è uno solo....
    Praticamente devo fare un 3 in 1!

  7. #7
    oddio è vero me ne ero dimenticato

    senti fai prima a scriverci come è fatta la tabella del database in cui devi inserire questi dati e come si chiamano tutti i campi del form che vanno inseriti li e ti scriviamo la query di insert

    sinceramente in dw non so come si faccia...ma nella creazione guidata che hai seguito non c'era la possibilità di mettere + campi in una sola colonna?

  8. #8
    senno prova a passare tutto il codice che t'ha generato dw

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    193
    Questo è lo splendido codice che ha generato DW: :maLOL:
    codice:
    <%@LANGUAGE="VBSCRIPT"%>
      
    <%  ' *** Edit Operations: declare variables    
    Dim MM_editAction  
    Dim MM_abortEdit  
    Dim MM_editQuery  
    Dim MM_editCmd    
    Dim MM_editConnection  
    Dim MM_editTable  
    Dim MM_editRedirectUrl  
    Dim MM_editColumn  
    Dim MM_recordId    
    Dim MM_fieldsStr  
    Dim MM_columnsStr  
    Dim MM_fields  
    Dim MM_columns  
    Dim MM_typeArray  
    Dim MM_formVal  
    Dim MM_delim  
    Dim MM_altVal  
    Dim MM_emptyVal  
    Dim MM_i    
    MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))  
    If (Request.QueryString <> "") Then    
    MM_editAction = MM_editAction & "?" & Request.QueryString  
    End If    
    ' boolean to abort record edit  
    MM_abortEdit = false    
    ' query string to execute  
    MM_editQuery = ""  %>  <%  
    ' *** Insert Record: set variables    
    If (CStr(Request("MM_insert")) = "form_registrazione") Then      MM_editConnection = MM_conn_utenti_STRING    
    MM_editTable = "tab_utenti"    
    MM_editRedirectUrl = "pagina_profilo.asp"    
    MM_fieldsStr  = "username|value|password|value|email|value|sesso|value|Regioni|value|Provincie|value|paese_residenza|value"    
    MM_columnsStr = "Username|',none,''|Password|',none,''|Email|',none,''|Sesso|',none,''|[Regione residenza]|',none,''|[Provincia residenza]|',none,''|[Comune residenza]|',none,''"      
    ' create the MM_fields and MM_columns arrays    
    MM_fields = Split(MM_fieldsStr, "|")    
    MM_columns = Split(MM_columnsStr, "|")        
    ' set the form values    
    For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2      MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))    
    Next      
    ' append the query string to the redirect URL    
    If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then      If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then        
    MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString      Else        
    MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString      End If    
    End If    
    End If  %>  
    <%  
    ' *** Insert Record: construct a sql insert statement and execute it    Dim MM_tableValues  
    Dim MM_dbValues    
    If (CStr(Request("MM_insert")) <> "") Then      
    ' create the sql insert statement    
    MM_tableValues = ""    
    MM_dbValues = ""    
    For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2      MM_formVal = MM_fields(MM_i+1)      
    MM_typeArray = Split(MM_columns(MM_i+1),",")      
    MM_delim = MM_typeArray(0)      
    If (MM_delim = "none") Then MM_delim = ""      
    MM_altVal = MM_typeArray(1)      
    If (MM_altVal = "none") Then MM_altVal = ""      
    MM_emptyVal = MM_typeArray(2)      
    If (MM_emptyVal = "none") Then MM_emptyVal = ""      
    If (MM_formVal = "") Then        
    MM_formVal = MM_emptyVal      
    Else        
    If (MM_altVal <> "") Then          
    MM_formVal = MM_altVal        
    ElseIf (MM_delim = "'") Then  
    ' escape quotes          
    MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"        
    Else          
    MM_formVal = MM_delim + MM_formVal + MM_delim        
    End If      
    End If      
    If (MM_i <> LBound(MM_fields)) Then        
    MM_tableValues = MM_tableValues & ","        
    MM_dbValues = MM_dbValues & ","      
    End If      
    MM_tableValues = MM_tableValues & MM_columns(MM_i)      
    MM_dbValues = MM_dbValues & MM_formVal    
    Next    
    MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"      
    If (Not MM_abortEdit) Then      
    ' execute the insert      
    Set MM_editCmd = Server.CreateObject("ADODB.Command")      
    MM_editCmd.ActiveConnection = MM_editConnection      
    MM_editCmd.CommandText = MM_editQuery      
    MM_editCmd.Execute      
    MM_editCmd.ActiveConnection.Close        
    If (MM_editRedirectUrl <> "") Then        
    Response.Redirect(MM_editRedirectUrl)      
    End If    
    End If    
    End If
    Immagino che per chi ne capisce sia un codice orribile VVoVe:

  10. #10
    hum prova a fare questo. Metti a commento tutto il codice di dw che sta sotto i due "insert record" e prova questo:

    codice:
    stringa="insert into tab_utenti(Username,Password,Email, Sesso, Regione residenza, Provincia residenza, Comune residenza, data_nascita) values('"
    
    stringa=stringa & replace(request.form("username"),"'","''")) & "','"
    stringa=stringa & request.form("password") & "',"
    stringa=stringa & replace(request.form("email"),"'","''")) & "','"
    stringa=stringa & replace(request.form("sesso"),"'","''")) & "','"
    stringa=stringa & replace(request.form("regione"),"'","''")) & "','"
    stringa=stringa & replace(request.form("provincia"),"'","''")) & "','"
    stringa=stringa & replace(request.form("comune"),"'","''")) & "','"
    stringa=stringa & request.form("giorno") & "/" & request.form("mese") & "/" & request.form("anno") & "')"
    
    Set MM_editCmd = Server.CreateObject("ADODB.Command")      
    MM_editCmd.ActiveConnection = MM_editConnection      
    MM_editCmd.CommandText = stringa   
    MM_editCmd.Execute      
    MM_editCmd.ActiveConnection.Close        
    If (MM_editRedirectUrl <> "") Then        
    Response.Redirect(MM_editRedirectUrl)      
    End If
    allora te la spiego:

    insert into tab_utenti(valori nella tabella utenti) -> devi controllare che nella prima dichiarazione di "stringa" tra parentesi ci siano i nomi corretti dei campi che sono nel database

    successivamente in ogni request.form devi vedere che ho scritto correttamente il nome dell'elemento nel form che corrisponde a username,password, email etc etc

    prova e vedi che succede

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.