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

    Visualizzare dati di tabelle diverse ma collegate a catena uno sotto l'altro

    Salve ragazzi devo effettuare una modifica in asp che conosco poco su di un sito che non ho fatto io.
    La pagina in questione legge tutti i dati da una tabella di un DB (diario) e li elenca in fila uno sotto all'altro fino all'ultimo.
    I dati letti dalla tabella del DB sono: tempo, commento e foto; inoltre la tabella che si chiama diario ha un campo di tipo contatore.
    Associato a questo campo (contatore) ho creato un'altra tabella di nome giudizio che ha 3 campi: idgiudizio=contatore; giudizio=testo; idcommento=numerico (collegato al contatore della tabella diario)
    Io devo inserire il campo giudizio della tabella giudizio sotto ad ogni suo rispettivo commento.
    Cerco di spiegarmi meglio:
    Se il campo diario.conatore è uguale a 1 e associato a questo campo ho nella tabella giudizio tre giudizi questi mi devono apparire sotto a commento e così via fino alla fine dei campi della tabella giudizio.
    L'importante è che ad ogni commento corrisponda il suo giudizio.
    Spero di essere stato chiaro e spero che qualcuno mi possa aiutare.
    Grazie

    Ecco il codice che crea tutti i dati della tabella diario:
    <%
    db = Server.CreateObject("ADODB.Connection")
    db.Open(sys_connessione)
    rs = Server.CreateObject("ADODB.Recordset")
    query = new Array()
    query.push("SELECT *")
    query.push("FROM DIARIO")
    query.push("ORDER BY TEMPO DESC")
    query = query.join(" ")
    rs.Open(query, db, adOpenStatic, adLockReadOnly)
    while (!rs.EOF)
    { %>
    <%= sys_time2data(rs.Fields("TEMPO").value,"gMMMMaom") %>



    " target="_blank">[img]<%=(rs.Fields([/img]" width="100" height="100" border="0">



    <%= String(rs.Fields("COMMENTO").value).replace(new RegExp("\r\n","gim"),"
    ") %>




    <HR>



    <% rs.moveNext()
    }
    if (rs.State == adStateOpen) { rs.Close() }
    rs = null
    if (db.State == adStateOpen) { db.Close() }
    db = null %>

  2. #2
    Aiuto per favore!

  3. #3
    questa è una join uno a molti...

    non ha senso che tu la faccia direttamente

    prima fai la SQL dei commenti e poi quella dei giudizi

    codice:
    <%
    
    db = Server.CreateObject("ADODB.Connection")
    db.Open(sys_connessione)
    rs = Server.CreateObject("ADODB.Recordset")
    set Rs2 = Server.CreateObject("ADODB.Recordset")
    query1 = "SELECT * FROM DIARIO ORDER BY TEMPO DESC")
    rs.Open(query1 , db, adOpenStatic, adLockReadOnly)
    while (not rs.EOF)
    { %>
    <%= sys_time2data(rs.Fields("TEMPO").value,"gMMMMaom") %>
    
    
    
    " target="_blank">[img]<%=(rs([/img]" width="100" height="100" border="0"> 
    
    
    
    <%= String(rs("COMMENTO").value).replace(new RegExp("\r\n","gim"),"
    ") %>
    <%
    query2 = "SELECT * FROM GIUDIZI WHERE IDCOMMENTO = " & rs("idcommento")
    rs2.open query2, db, adOpenStatic, adLockReadOnly
    if not rs2.eof then response.write "<table><tr><td>GIUDIZI:</td></tr>"
    totgiudizi = 0
    while not rs2.eof
      totgiudizi = totgiudizi + 1
      response.write "<tr><td>" & rs2("giudizio") & "</td></tr>"
      rs2.movenext
    wend
    rs2.close
    if totgiudizi <> 0 then response.write </table>
    %>
    
    
    
    
    <HR>
    
    
    
    <% rs.moveNext()
    }
    if (rs.State == adStateOpen) { rs.Close() }
    rs = null
    if (rs2.State == adStateOpen) { rs2.Close() }
    rs2 = null
    if (db.State == adStateOpen) { db.Close() }
    db = null %>
    l'ho corretto ad occhio, ma dovrebbe funzionare...

    in pratica per ogni record della tabella DIARIO controlla quali giudizi vi sono collegati... e li stampa tutti in una sottotabella

    HO CHIAMATO "IDCOMMENTO" l'id che deve far corrispondere i giudizi ai commenti...

    HO CHIAMATO GIUDIZIO LA TABELLA, ma forse devi correggere i nomi dei campi :P
    san imente saluta

    * http://simonecingano.it *

  4. #4
    Grazie mille!!

  5. #5
    figurati

    saluti
    san imente saluta

    * http://simonecingano.it *

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.