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

    Davvero da esaurimento nervoso: moduli imprevedibili nella fase di lettura

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

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    <%if trim(cstr(rs1("id"))) = trim(cstr(rs("fonti"))) then
    Roby

  3. #3
    Proviamo. Grazie di avermi risposto.

  4. #4
    Niente. Sono un pò nei casini...ci sono delle pagine che nn riesco a fare funzionare..

  5. #5
    Risolto. Era una cazzata.

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.