|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 2776
|
[asp] problema assurdo con le checkbox
Allora ho trovato un ostacolo che mi impedisce di finire e soprattutto mina seriamente il mio equilibrio mentale:
ho strutturato alcuni campi del db con tabelle di questo genere per ospitare i campi checkbox: fonti, soggetti . una tabella fonti è fatta cosi: ![]() E quella dei soggetti cosi ![]() poi c'è una terza tabella con altri dati: id, nome, età, etc che recupero da select, textarea, input radio, senza problemi. nella fase di inserimento , la tabella inserisce l'id del modulo nella tabella soggetti. Nella fase di modifica il codice fa un inner joint, scorre la tabella fonti , se l'id coincide, allora la casella checkbox appare spuntata. Questo è il codice di joint Codice:
sql="SELECT tabella.id, tabella.nome, tabella.tempo,tabella.eta , " sql=sql&" tabella.datapub, " sql=sql&" tabellasoggetti.fonti, tabellafonti.fonti " sql=sql&" FROM (tabella INNER JOIN tabellasoggetti ON " sql=sql&" tabella.id = tabellasoggetti.id) INNER JOIN tabellafonti ON " sql=sql&" tabellasoggetti.fonti = tabellafonti.id " sql=sql&" where tabella.id='"&id&"';" poi c'è il codice per la ricerca della maledetta casella di testo checcata Codice:
<% set rs1 = Server.CreateObject("ADODB.RecordSet")
sql="select* from tabellafonti "
rs1.open sql, conn_base, adlockoptimistic, adcmdtable
if not rs1.eof then
rs1.movefirst
do while not rs1.eof
trovato=""
rs.movefirst%>
<tr><td><%=rs1("fonti")%></td><td>
<% do while not rs.eof %>
<%if trim(rs1("id"))=trim(rs("fonti")) then
trovato="checked"
end if%>
<%rs.movenext
loop%>
<input type=checkbox name="fonti" value="<%=rs1("id")%>;<%=rs1("fonti")%>" <%=trovato%>>
<%
rs1.movenext
loop
end if
rs1.close
set rs1=nothing
Nelle altre tre e non riesco a capire perchè cazzarola,non funziona: le caselline rimangono vuote, eppure il dato c'è! Le tabelle vengono tutte scritte e aggiorarnate correttamente!! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 2776
|
Risolto. Era una cazzata.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:30.





















