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

    Update Multiplo Checkbox

    Salva a tutti, ho um grave problema che non riesco a risolvere:

    Ho questo form:
    codice:
     <form  name="Myform"action="admin_save_voti.asp" method="post" onSubmit="return Convalida();">
                                  <h2 align="center">Seleziona dall'elenco gli 11 
                                    giocatori che hanno preso il voto</h2><div>
                                  <div class='leftcol'> <font size="2" face="Tahoma"> 
                                    <font color="#003366">Giocatori Titolari</font> 
                                    <% 
    While ((Repeat1__numRows <> 0) AND (NOT formazioni.EOF)) 
    %>
                                    <%
    dim conta
    conta=conta+1
    %>
                                    <%
    var=(formazioni.Fields.Item("giocatori").Value)
    set conn = server.createObject("ADODB.Connection")
    conn.Open MM_fantacalcio_STRING
    sql = "select * from lista_iniziale where codice='"&var&"'"
    set rs = conn.execute(sql)
    stringa = rs("nome")
    giocatore = TagliaStringa(stringa,15)
    %>
                                    <%
    sql1 = "select * from dati where giornata="&campionato&" and codice="&var&" and minsup25=1"
    set rs1 = conn.execute(sql1)
    if rs1.eof=true then
    voto="Non ha Giocato!"
    punto= 0
    codice=var
    else
    punto=rs1("votofc")
    voto="voto: "&rs1("votofc")
    codice=rs1("codice")
    end if
    %>
                                    <label> 
                                    <input name="punteggio" type="checkbox" id='<%="game"&conta%>'  value="<%=Replace(punto,",",".")%>" onClick="ctr(this),UpdateCost();">
                                    <input name="<%="calciatore"&conta%>" type="hidden" value="<%=codice%>"><%if(formazioni.Fields.Item("ruolo").Value)="0" then%>
                                    [img]images/portiere.png[/img] 
                                    <%else if(formazioni.Fields.Item("ruolo").Value)="1" then%>
                                    [img]images/difensore.png[/img] 
                                    <%else if(formazioni.Fields.Item("ruolo").Value)="2" then%>
                                    [img]images/centrocampista.png[/img] 
                                    <%else if(formazioni.Fields.Item("ruolo").Value)="3" then%>
                                    [img]images/attaccante.png[/img] 
                                    <%
    								  end if
    								  end if
    								  end if
    								  end if%>
                                    <%=giocatore%><font color="#003366" size="1" face="Tahoma"> 
                                    (<%=voto%>)</font> </label>
                                    <% 
      Repeat1__index=Repeat1__index+1
      Repeat1__numRows=Repeat1__numRows-1
      formazioni.MoveNext()
    Wend
    %>
                                    </font></div>
                                  <div class='rightcol'> <font size="2" face="Tahoma"> 
                                    <font size="2" face="Tahoma"> <font color="#003366">Giocatori 
                                    in Panchina</font> 
                                    <% 
    While ((Repeat2__numRows <> 0) AND (NOT panchina.EOF)) 
    %>
                                    <%
    conta=conta+1
    %>
                                    <%
    var=(panchina.Fields.Item("giocatori").Value)
    set conn = server.createObject("ADODB.Connection")
    conn.Open MM_fantacalcio_STRING
    sql = "select * from lista_iniziale where codice='"&var&"'"
    set rs = conn.execute(sql)
    stringa = rs("nome")
    giocatore = TagliaStringa(stringa,15)
    sql1 = "select * from dati where giornata="&campionato&" and codice="&var&" and minsup25=1"
    set rs1 = conn.execute(sql1)
    if rs1.eof=true then
    voto="Non ha Giocato!"
    punto= 0
    codice=var
    else
    punto=rs1("votofc")
    voto="voto: "&rs1("votofc")
    codice=rs1("codice")
    end if
    %>
                                    <label> 
                                    <input name="punteggio" type="checkbox" id="<%="game"&conta%>" value="<%=Replace(punto,",",".")%>" onClick="ctr(this),UpdateCost();">
                                    <input name="<%="calciatore"&conta%>" type="hidden" value="<%=codice%>"><%if(panchina.Fields.Item("ruolo").Value)="0" then%>
                                    [img]images/portiere.png[/img] 
                                    <%else if(panchina.Fields.Item("ruolo").Value)="1" then%>
                                    [img]images/difensore.png[/img] 
                                    <%else if(panchina.Fields.Item("ruolo").Value)="2" then%>
                                    [img]images/centrocampista.png[/img] 
                                    <%else if(panchina.Fields.Item("ruolo").Value)="3" then%>
                                    [img]images/attaccante.png[/img] 
                                    <%
    								  end if
    								  end if
    								  end if
    								  end if%>
                                    <%=giocatore%><font color="#003366" size="1" face="Tahoma"> 
                                    (<%=voto%>)</font></label>
                                    <% 
      Repeat2__index=Repeat2__index+1
      Repeat2__numRows=Repeat2__numRows-1
      panchina.MoveNext()
    Wend
    %>
                                    </font></div>
                                  <div> 
                                    <label>Punteggio Totale: 
                                    <input name="totalecost" id="totalcost" type="text" size="2" disabled>
                                    </label>
                                  </div>
                                  <font size="2" face="Tahoma"> 
                                  <h2>Prima di salvare devi accettare di aver controllato 
                                    tutti i dati</h2>
                                  <div> 
                                    <label> 
                                    <input type="radio" name='accetto' value="<%=punto%>">
                                    <font size="2" face="Tahoma">Accetto</font></label>
                                    <input name="giornata" type="hidden" id="giornata" value="<%=(presidente.Fields.Item("GIORNATA").Value)%>">
                                    <input name="user" type="hidden" id="user" value="<%=(presidente.Fields.Item("PRESIDENTE").Value)%>">
                                    <input name="formazione" type="hidden" id="formazione" value="<%=(presidente.Fields.Item("id_formazione").Value)%>">
                                    <input name="mensile" type="hidden" id="mensile" value="<%=(presidente.Fields.Item("mese").Value)%>">
                                  </div>
                                  <div class="buttons"> 
                                    <button type="submit" class="regular" name="abilita"> 
                                    <div align="center"><font size="1">[img]images/save.png[/img] 
                                      Salva questo risultato</font> </div>
                                    </button>
                                  </div>
                                  </font> 
                                </form>
    Tale form mi genera 22 checkbox di nomeunteggio e per ogni checkbox c'è un campo nascosto di nome giocatore con una variabile contatore, nel mio caso:
    punteggio - giocatore1
    punteggio - giocatore2
    ..............................
    punteggio - giocatore22

    Questi dati vengono inviati ad una pagina che dovrebbe aggiornare i dati nel database, io ho fatto così come segue, ma il risultato è disastroso:
    codice:
    <%
    campionato= Request.Form("giornata")
    user= Request.Form("user")
    formazione=request.Form("formazione")
    totale=request.Form("totalcost")
    mensile=Request.Form("mensile")
    dim squadra
    set squadra = Request.Form("punteggio")
    dim giocatore(21)
    giocatore(0)=request.Form("calciatore1")
    giocatore(1)=request.Form("calciatore2")
    giocatore(2)=request.Form("calciatore3")
    giocatore(3)=request.Form("calciatore4")
    giocatore(4)=request.Form("calciatore5")
    giocatore(5)=request.Form("calciatore6")
    giocatore(6)=request.Form("calciatore7")
    giocatore(7)=request.Form("calciatore8")
    giocatore(8)=request.Form("calciatore9")
    giocatore(9)=request.Form("calciatore10")
    giocatore(10)=request.Form("calciatore11")
    giocatore(11)=request.Form("calciatore12")
    giocatore(12)=request.Form("calciatore13")
    giocatore(13)=request.Form("calciatore14")
    giocatore(14)=request.Form("calciatore15")
    giocatore(15)=request.Form("calciatore16")
    giocatore(16)=request.Form("calciatore17")
    giocatore(17)=request.Form("calciatore18")
    giocatore(18)=request.Form("calciatore19")
    giocatore(19)=request.Form("calciatore20")
    giocatore(20)=request.Form("calciatore21")
    giocatore(21)=request.Form("calciatore22")
    for i=1 to giocatore.count
    punteggio= squadra(i)
    numero= giocatore(i)
    set calciatori = Server.CreateObject("ADODB.Command")
    calciatori.ActiveConnection = MM_fantacalcio_STRING
    calciatori.CommandText = "UPDATE formazioni_publicate SET voto='"&punteggio&"' WHERE id_formazione='"&formazione&"' and giocatori='"&numero&"'"
    calciatori.CommandType = 1
    calciatori.CommandTimeout = 0
    calciatori.Prepared = true
    calciatori.Execute()
    next'i
    %>
    Risposta del browser:
    Necessario Oggetto

    Qualcuno può aiutarmi? Grazia anticipatamente

  2. #2

    Re: Update Multiplo Checkbox

    Originariamente inviato da marconi
    Salva a tutti, ho um grave problema che non riesco a risolvere:

    Ho questo form:
    [code]
    ...
    set calciatori = Server.CreateObject("ADODB.Command")
    calciatori.ActiveConnection = MM_fantacalcio_STRING
    ...
    Dando una rapidissima occhiata al programma ho notato che "MM_fantacalcio_STRING" non ha valore

  3. #3
    Ciao e grazie per la risposta, il problema non è la stringa MM_fantacalcio_string, in quanto non ho scritto qui la connessione, il problema è riuscire a catturare le variabili, e se guardi bene il form ci sono 22 checkbox di nome punteggio, e 22 campi nascosti in corrispondenza delle checkbox, ora questi campi nascosti sono numerati da un contatore per fare in modo da avere nel nome una differenza progressiva. Ora, al di là, se l'utente seleziona 1,2 o 7 checkbox, a me servirebbe un update dei dati che preleva il valore dalla checkbox clikkata (Request.form("numero") e il valore del campo nascosto corrispondete, cioè update table set voto=numero where codice=campo nascosto corrispondente, in modo tale da avere il voto per il codice di quel giocatore.Spero di essere stato chiaro, grazie per la collaborazione.

  4. #4
    si poi ho riguardato il tutto con più attenzione ma il server aveva problemi e nn sn più riuscito a scrivere

    allora io credo che

    1. tu possa recuperare tutti i vari valori con un ciclo piuttosto che fare: (x comodità)
    codice:
    giocatore(0)=request.Form("calciatore1")
    giocatore(1)=request.Form("calciatore2")
    giocatore(2)=request.Form("calciatore3")
    giocatore(3)=request.Form("calciatore4")
    ...
    2. tu cerchi di usare un array squadra(i) che non esiste, quello che tu hai in squadra è un testo contenente tutti i valori di punteggio separati da "," ma per farlo diventare un array devi splittarlo (credo sia questo che ti restituisce l'errore)

    3. non ricordo bene ma sei sicuro che in caso di campo "punteggio" vuoto tutto funzioni correttamente? se si potresti usare il metodo anche per i giocatori (annullando il punto 1 che ti ho segnato ^_^)

  5. #5
    Grazier per l'aiuto, come puoi vedere di seguito ho trovato questa soluzione:
    codice:
    <%
    formazione=request.Form("formazione")
    tot=request.Form("totalecost")
    mensile=Request.Form("mensile")
    %>
    <%
    dim voto(21)
    voto(0)=Request.Form("punteggio1")
    voto(1)=Request.Form("punteggio2")
    voto(2)=Request.Form("punteggio3")
    voto(3)=Request.Form("punteggio4")
    voto(4)=Request.Form("punteggio5")
    voto(5)=Request.Form("punteggio6")
    voto(6)=Request.Form("punteggio7")
    voto(7)=Request.Form("punteggio8")
    voto(8)=Request.Form("punteggio9")
    voto(9)=Request.Form("punteggio10")
    voto(10)=Request.Form("punteggio11")
    voto(11)=Request.Form("punteggio12")
    voto(12)=Request.Form("punteggio13")
    voto(13)=Request.Form("punteggio14")
    voto(14)=Request.Form("punteggio15")
    voto(15)=Request.Form("punteggio16")
    voto(16)=Request.Form("punteggio17")
    voto(17)=Request.Form("punteggio18")
    voto(18)=Request.Form("punteggio19")
    voto(19)=Request.Form("punteggio20")
    voto(20)=Request.Form("punteggio21")
    voto(21)=Request.Form("punteggio22")
    
    for i=0 to ubound (voto)
    str=voto(i)
    calciatore=Request.Form("calciatore"&i+1)
    set aggiorna = Server.CreateObject("ADODB.Command")
    aggiorna.ActiveConnection = MM_fantacalcio_STRING
    aggiorna.CommandText = "UPDATE formazioni_publicate  SET voto='"&str&"'  WHERE giocatori='"&calciatore&"'and id_formazione='"&formazione&"' "
    aggiorna.CommandType = 1
    aggiorna.CommandTimeout = 0
    aggiorna.Prepared = true
    aggiorna.Execute()
    set aggiorna_presidente = Server.CreateObject("ADODB.Command")
    aggiorna_presidente.ActiveConnection = MM_fantacalcio_STRING
    aggiorna_presidente.CommandText = "UPDATE formazioni_pub  SET totale="&tot&" WHERE id_formazione='"&formazione&"' "
    aggiorna_presidente.CommandType = 1
    aggiorna_presidente.CommandTimeout = 0
    aggiorna_presidente.Prepared = true
    aggiorna_presidente.Execute()
    next
    %>
    Il punto centrale di questo motore oltre l'array di punteggio è il recupero del corrispondente input nascosto mediante questa funzione
    codice:
    calciatore=Request.Form("calciatore"&i+1)
    avendo un contatore che mi parte da uno ho aggiunto 1 alla i dell'array e tutto funziona correttamente.
    Grazie ancora per l'interessamento...ciao e spero che tutto ciò sia utile a qualcuno!

  6. #6
    volendo questo:

    codice:
    dim voto(21)
    voto(0)=Request.Form("punteggio1")
    voto(1)=Request.Form("punteggio2")
    voto(2)=Request.Form("punteggio3")
    voto(3)=Request.Form("punteggio4")
    voto(4)=Request.Form("punteggio5")
    voto(5)=Request.Form("punteggio6")
    voto(6)=Request.Form("punteggio7")
    voto(7)=Request.Form("punteggio8")
    voto(8)=Request.Form("punteggio9")
    voto(9)=Request.Form("punteggio10")
    voto(10)=Request.Form("punteggio11")
    voto(11)=Request.Form("punteggio12")
    voto(12)=Request.Form("punteggio13")
    voto(13)=Request.Form("punteggio14")
    voto(14)=Request.Form("punteggio15")
    voto(15)=Request.Form("punteggio16")
    voto(16)=Request.Form("punteggio17")
    voto(17)=Request.Form("punteggio18")
    voto(18)=Request.Form("punteggio19")
    voto(19)=Request.Form("punteggio20")
    voto(20)=Request.Form("punteggio21")
    voto(21)=Request.Form("punteggio22")
    Puoi farlo diventare:

    codice:
    dim voto(21)
    for i=0 to 21
    voto(i)=Request.Form("punteggio"&i+1)
    next i
    con un evidente risparmio d spazio ^_^

  7. #7
    Grazie...hai proprio ragione!! Non ci avevo pensato..

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.