Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118

    Come si aggiornano n righe?

    Ragazzi, concettualmente, come faccio a fare updatare n righe con un solo click. In pratica restituisco a video un tot di righe che verranno aggiornate manualmente. Poi con un click dovrei inviarla alla sql che aggiorna la tabella. Concettualmente qual'è il procedimento giusto?

  2. #2
    Con un ciclo (in genere For Next) aggiorni il nuero di righe che ti serve.

    Logicamente il ciclo ripete N volte delle operazioni simili per cui l'aggiornamento o l'azione su tutti i record deve essere di tipo identico o simile.

  3. #3
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    In pratica restituisco a video un tot di righe
    che verranno aggiornate manualmente
    .
    Poi con un click dovrei inviarla alla sql che aggiorna la tabella.
    Concettualmente qual'è il procedimento giusto?
    come le presenti a video le righe da modificare manualmente?

  4. #4
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Utilizzo questo form:

    Squeryt="SELECT contatore, descrizione, quantita, giacenza, uo, datasta, consegnato from farmaci where annulla=false AND ricevuto= true and inviato=true and presidio LIKE '"&elsa&"' and datainvio="&data1&" ;"
    set rs=server.createobject("adodb.recordset")
    rs.open Squeryt,Conn
    Do until Rs.eof=True
    %>
    <font color=LightYellow size=3>[b]

    <DIV ALIGN="CENTER">
    <form action="giada.asp" method="post">
    <table border="1" width="100%">
    <tr>
    <td width="10%"><INPUT TYPE="TEXT" name="id" value="<%=rs("contatore")%>"></td>
    <td width="65%"><%=rs("descrizione")%></td>
    <td width="5%"><%=rs("quantita")%></td>
    <td width="5%"><%=rs("giacenza")%></td>
    <td width="5%"><INPUT TYPE="TEXT" name="cons" value="<%=rs("consegnato")%>"></td>
    <td width="15%"><input type="submit" value="invia"><font color="#FF9933"></font></font></td>
    </font>

    </tr>

    </table></div>

    </form>

    che manda i dati a questo:

    <%
    consi= request.form("cons")
    idd=request.form("id")
    strconn="Driver={Microsoft Access Driver (*.mdb)}; dbq="&Server.MapPath("intranet.mdb")
    set Conn=Server.CreateObject("ADODB.Connection")
    Conn.open strconn
    sql = "UPDATE farmaci set consegnato="&consi&" where contatore="&idd&";"


    conn.execute(sql)

    conn.close
    set conn = nothing

    response.redirect "controlp.asp"

    %>

    Ovviamente , così facendo, devo inviare il dato uno alla volta.....non c'è il modo per utizzare solo una volta l'invio?

  5. #5
    l'inizio e la fine del form devi metterli fuori dal ciclo do until..

    nella pagina che processa il form...

    dim arrID, i

    arrID = Split(Request.Form("id"), ", ", -1, 1)

    For i = LBound(arrID)
    'qui aggiorni i record

    strSQL = "UPDATE tb SET NomeCampo = 'aa' WHERE id = " & arrID(i)

    'esegui la stringa
    Next

  6. #6
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Cioè in pratica il do until deve essere messo dopo il <form></form> giusto?

  7. #7
    all'interno del form.. in pratica ci deve essere un solo form nella pagina no tanti form quante righe visualizzi

  8. #8
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Fatto. Ma così mi passa un solo articolo. Io ho bisogno che mi passi tutti gli articoli che poi vado ad aggiornare.

  9. #9
    se ci sono 2 <INPUT TYPE="TEXT" name="id" value="<%=rs("contatore")%>"> nella pagina che processa se recuperi il valore con Request.Form("id") otterrai un array..
    ti navighi l'array e aggiorni i dati nel db

  10. #10
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    codice:
    <form action="giada.asp" method="post">
    <%Do until Rs.eof=True %>
    <table border="1" width="100%">
    <tr>
        <td width="10%"><INPUT TYPE="TEXT" name="id" value="<%=rs("contatore")%>"></td> 
        <td width="65%"><%=rs("descrizione")%></td>
        <td width="5%"><%=rs("quantita")%></td>
        <td width="5%"><%=rs("giacenza")%></td>
        <td width="5%"><INPUT TYPE="TEXT" name="cons" value="<%=rs("consegnato")%>"></td>
    <td width="15%"><input type="submit" value="invia"><font color="#FF9933"></font></font></td>
      </font>
        
      </tr>
      
    </table></div>
    Così mi da tutti gli articoli ma mo da n invia per n righe. Io vorrei 1 invio per n righe.

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.