Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1

    aggiornamento multiplo di record

    buonasera a tutti,

    ho una tabella molto semplice così composta.

    COGNOME NOME FLAG
    tizio tizio X
    caio caio x

    etc

    i record sono uno sotto l'atro, l'unico dato che si può inserire / togliere è il flag.
    Domanda: è possibile aggiornare tutti i record contemporaneamente, ovvero devo creare qualche cosa che, dopo ogni flag, scateni l'aggiornamento del database?
    se serve posso postare il codice ma è veramente semplice.

    grazie

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    se devi aggiornali tutti basta che fai l'update del campo senza specificare il record

  3. #3
    no, non sono tutti, ma solo quelli che avranno il flag spuntato

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Come dice Vincenzo fai un update senza specifica il record e nella voce "flag" metti un if tipo
    If request("nomecampoflag") = 1 then
    Nomecampotabella = 1
    Else
    Nomecampotabella =0
    End if
    1/0 equivale a si/no o true/false così aggiorni tutti i campi, altrimenti come dici tu una volta spuntato non potrai più deselezionare il campo, ma se è quello che vuoi basta che togli else dalla if
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    Originariamente inviato da salvatore1966
    no, non sono tutti, ma solo quelli che avranno il flag spuntato
    quindi, poi, saranno tutti uguali?
    senza che ti perdi in cicli puoi aggiornali tutti. di quanti record parliamo?

    edit:
    oppure, per risparmiare risorse, aggiorna con la clausola WHERE campoflag = true
    (true o valore del caso)

    riedit:
    urca... mi sa che solo ora ho capito la domanda
    tu vuoi aggiornare solo quelli che spunti dal tuo form?
    (devo aver interpretato male "è possibile aggiornare tutti i record contemporaneamente")

  6. #6
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    in quest caso dai lo stesso nome ai checkbox e ci metti come valore l'id dell'utente (se non ce l'hai crea un campo contatore per ottenere questo)
    poi l'update diventa
    CampidaAggiornare = Request.Form("NomeCampoFlag")
    e la clausola nella query
    WHERE ID IN ("&CampidaAggiornare&")




    chissà che sta volta non abbia capito la domanda

  7. #7
    intanto grazie per la pasienza nei confronti di un neofita.
    Per quanto attiene la mia esigenza ritengo sia stata compresa bene ma la spiego meglio:

    estraggo da una tabella tutta una serie di nominativi
    alcuni di questi pagano la quota, per costoro spunto un flag. Chiaramente le persone pagano in tempi diversi, quindi devo aggiornare questi flag in momenti diversi. la mia esigenza è quindi la seguente:

    passo 1) ottengo la lista di tutti i nominativi
    passo 2) per alcuni di questi spunto il flag
    passo 3) devo memorizzare questa info sul database.

    Se ho ben capito i vostri consigli il codice dovrebbe essere questo:


    query che strae la tabella....
    <%
    Do While iRecordsShown < iPageSize And Not RS.EOF
    %>

    <tr>
    <td width="33%" align="center" height="15" bgcolor="#DDDDDD"><font face="Verdana" size="4"><%=RS("nome unita'")%></a></font></td>
    <td width="26%" align="center" height="15" bgcolor="#DDDDDD"><font face="Verdana" size="4"><%=RS("cognome")%></a></font></td>
    <td width="27%" align="center" height="15" bgcolor="#DDDDDD"><font face="Verdana" size="4"><%=RS("nome")%></a></font></td>
    <td width="13%" align="center" height="15" bgcolor="#DDDDDD">



    input type="checkbox" name="censito" id="censito" <% if rs("censito").Value then Response.Write("checked=""checked""")%> value="1" /></p>
    </td>

    </tr>
    <%

    iRecordsShown = iRecordsShown + 1
    RS.MoveNext
    Loop
    %>
    </table>


    </p>
    <%
    End If

    Rs("censito")=censito WHERE ID IN ("&censito&")
    rs.update
    RS.Close
    Set RS = Nothing
    Conn.Close



    ho capito / ho scritto bene ?

  8. #8
    ovvero, pensandoci un attimo, pensate che così possa funzionare?

    <%
    Do While iRecordsShown < iPageSize And Not RS.EOF
    %>

    <tr>
    <td width="33%" align="center" height="15" bgcolor="#DDDDDD"><font face="Verdana" size="4"><%=RS("nome unita'")%></a></font></td>
    <td width="26%" align="center" height="15" bgcolor="#DDDDDD"><font face="Verdana" size="4"><%=RS("cognome")%></a></font></td>
    <td width="27%" align="center" height="15" bgcolor="#DDDDDD"><font face="Verdana" size="4"><%=RS("nome")%></a></font></td>
    <td width="13%" align="center" height="15" bgcolor="#DDDDDD">


    <input type="checkbox" name="censito" id="censito"<% if rs("censito").Value then Response.Write("checked=""checked""")%> value="1" /></p>
    <%Rs("censito")=censito %>

    </td>

    </tr>
    <%

    iRecordsShown = iRecordsShown + 1
    RS.MoveNext
    Loop
    %>
    </table>


    </p>
    <%
    End If
    rs.update
    RS.Close
    Set RS = Nothing
    Conn.Close

  9. #9
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    no... in realtà è più semplice

    nel form, per ogni record estratto e stampato, avrai una cosa tipo questa
    codice:
    <input type="checkbox" name="censito" <% if rs("censito") then Response.Write("checked=""checked""") end if %> value="<% = rs("id") %>" />
    quindi niente id perché essendo con estrazione ciclica si ripeterebbe e l'id è (e dev'essere) univoco. e il valore da passare è l'id, non 1/0 o simili

    a questo punto, col submit, passi i valori di censito:
    codice:
    censito = request.form("censito")
    (i valori saranno automaticamente separati da virgole. il server sa cosa fare )
    e fai la query di update
    codice:
    UPDATE tabella set censito = true where id IN "&censito&"
    *true o il tuo valore convenzionale da te stabilito

  10. #10
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    E se l'anno successivo id 1, 5, 20, etc... devono essere deselezionati?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.