Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Filtro tra due tabelle

  1. #1

    Filtro tra due tabelle

    Ciao a tutti, ho creato un db di "prodotti" che mi vanno in loop prendendo i dati di ognuno dalla Tabella1, ma vorrei che oltre a questi records mi venissero visualizzati anche i "Commenti" che si trovano nella Tabella2. Le tabelle hanno in comune il campo ProductID. Devo fare un join? o cosa?
    Ho provato con:

    set rscommenti = server.CreateObject("Adodb.Recordset")
    productid = Request.QueryString("ProductID")
    sql = "SELECT * FROM Commenti WHERE ProductID= '"&productID&" ' "
    Response.Write rscommenti("Giorno") &"
    "
    Response.Write rscommenti("Autore") &"
    "
    Response.Write rscommenti("Commento") &"
    "

    ma non mi trova il product id..

  2. #2
    non si capisce nulla. spiega meglio il problema e come stai facendo adesso lo script

  3. #3
    Ciao Santino83,
    provo a riassumere..di ogni prodotto che mi appare devo mostrare a video il relativo commento che si trova nella tabella "Commenti".
    Adesso stavo provando così:

    Dim sql
    set rs2 = server.CreateObject("Adodb.Recordset")
    sql = "SELECT * FROM Commenti INNER JOIN Products ON Commenti.ProductID = Products.ProductID"
    rs2.Open sql, cn, 3, 3
    Response.write(rs.Fields("Giorno")) &"
    "
    Response.write(rs.Fields("Autore")) &"
    "
    Response.write(rs.Fields("ProductID")) &"
    "
    Response.write(rs.Fields("commento")) &"
    "

    ma a video mi riporta i dati della tabella Products e non quelli della tabella Commenti, forse perchè si trova dopo queste stringhe?

    if request.QueryString("cid")<>"" then
    set rs = cn.execute("Select * From Products Where CategoryID=" & request.QueryString("cid"))
    end if
    if not rs.eof then
    while not rs.eof

  4. #4
    hum..allora,

    stai facendo un elenco di prodotti? diciamo di si. Due soluzioni:

    1)

    codice:
    sql="select * from prodotti"
    set rs=server.createObject("adodb.recordset")
    rs.open sql,connessione,3,3
    
    while not rs.eof
    
    codiceId=rs("id")
    sql="select * from Commenti where ProductId=" & codiceID
    set rs1=server.createobject("adodb.recordset")
    rs1.open sql,connessione,3,3
    
    response.write rs("").........rs("") 'dati del prodotto
    response.write rs1("").....rs1("") 'dati dei commenti
    
    rs1.close : set rs1=nothing
    
    rs.movenext
    wend
    oppure metti tutto in una query unica:

    codice:
    sql="select p.PrimoCampo as nome, p.SecondoCampo as tipo............, c.Giorno as giorno, c.Autore as autore... from Commenti c, Prodotti p where c.ProductId=p.id"
    
    rs.open sql
    .......

  5. #5
    Grazie santino, ci provo subito..

  6. #6
    Perfetto!! Ho creato un loop solo per rs1. Senza il tuo aiuto penso ke mi sarei fuso completamente la testolina!!!
    Posto il codice:

    codiceId=rs("Productid")
    sql="select * from Commenti where ProductId=" & codiceID
    set rs1=server.createobject("adodb.recordset")
    rs1.open sql,cn,3,3

    Do while NOT rs1.EOF
    response.write rs1("Giorno") &"
    "
    response.write rs1("Autore") &"
    "
    response.write rs1("Commento") &"
    "
    rs1.Movenext
    Loop
    rs1.close : set rs1=nothing

    GRAZIEEEEE!!!

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.