Entra

View Full Version : [asp] problema assurdo con le checkbox


shambler1
09-12-2006, 20:59
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:

http://img205.imageshack.us/img205/439/tab1ht3.jpg (http://imageshack.us)

E quella dei soggetti cosi
http://img208.imageshack.us/img208/1803/tab2pb2.jpg (http://imageshack.us)

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

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

<% 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

Ebbene : sei tabelle , con codice uguale (cambiano solo i nomi dei campi e qualche select o textarea messa diversamente) tre funzionano e tre non funzionano, nel senso che in tre il valore lo trova: scorre tabellafonti, quando c'è il valore corrispondente , spunta la casellina.
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!!

shambler1
10-12-2006, 06:02
Risolto. Era una cazzata.