none
PROBLEMA AO EXIBIR REGISTROS, quando clica so exibe somente o ultimo registro... RRS feed

  • Pergunta

  • Iai pessoal.... oh eu aqui traveiz
    O negocio é o seguinte, tenho uma lista onde é exibida os titulos dos 15 ultimos anuncios cadastrados, e esses titulos, são os links para que o usuario possa vizualizar o anuncio completo, quando o usuario clica no anuncio abre uma popup, a janela popup esta abrindo beleza, mas o problema é que em qualquer dos 15 titulos que o usuario clique, é exibido somente o ultimo anuncio.
    Como faço para concertar isso?
    Abaixo está o codigo da página que exibe o anuncio completo.
    detalhespagprincipal.asp

    <%
    ID = request.QueryString("id")
    Response.Expires = 0
    DIM conexaoDataBase
    DIM rsMaquinas , strSQL , X
    const cntCaminho = "D:\@Trabalho\@Site\GIL MAQUINAS\@SITE-GIL MAQUINAS\@Site\DB_GilMaquinas\DB_GilMaquinas.mdb"
    SET conexaoDataBase = Server.CreateObject("ADODB.Connection")
    SET rsMaquinas = Server.CreateObject("ADODB.Recordset")
    conexaoDataBase.OPEN "Driver={Microsoft Access Driver (*.mdb)};dbq="& cntCaminho
    rsMaquinas.open "TBL_MAQUINAS_VENDA", conexaoDataBase
    strSQL = "SELECT * "
    strSQL = strSQL & " FROM TBL_MAQUINAS_VENDA WHERE ID_MAQUINAS_VENDER = "& ID &" "
    strSQL = strSQL & "ORDER BY ID_MAQUINAS_VENDER desc"
    SET rsMaquinas = conexaoDataBase.Execute(strSQL)

    %>

     

    -------------------------------------------------------------------------------------------------------------------------------------------

     

    Logo abaixo é a função e o link que chama a página que exibe o anuncio completo:
    principal.asp
    script language="JavaScript">

    <!--
    function AbrirPopup( window_path , W , H ){


    var NovaJanela = window.open('detalhespagprincipal.asp?id=<%=rsMaquinas("ID_MAQUINAS_VENDER")%>','miniwin','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable
    =0,width='+W+',height='+H+',top=100,left=100');


    }
    //-->

    </script>

    ----------------------------------------------------link-------------------------------------------------------------------------------------

    <a href="java script:AbrirPopup('NovaJanela','500','300');">
             <% = rsMaquinas("TIPO") %>&nbsp; <% = rsMaquinas("MARCA") %>&nbsp; <% = rsMaquinas("MODELO") %>
           </a>
    -------------------------------------------------------------------------------------------------------------------------------------------------

    Também tentei assim:

     

    <a href="detalhespagprincipal.asp?id=<%=rsMaquinas("ID_MAQUINAS_VENDER")%>" Target="java script:AbrirPopup('NovaJanela','500','300');">

     

    dessa forma abre em uma janela normal, e com o anuncio certo, porem não abre em uma popup tentei de varias formas chamar a função para abrir a popup, mas não da certo.

    como seria para que abrisse em uma popup?

    Dá um help ai...
    Desde já obrigado pela atenção

    quinta-feira, 11 de setembro de 2008 15:54

Respostas

  • André quanto ao tamanho da janela de uma olhada no link abaixo talvez já lhe ajuda.

    http://www.javascripter.net/faq/resizing.htm


    Agora quanto ao recordset estar retornando -1, se não me engano isto ocorre pois do jeito que esta abrindo o recordset ele fica somente leitura e somente le para frente, ou seja, voce também não pode voltar registro, isso quer dizer, que mesmo que você fizer um loop para contar os registros, você não conseguirá voltar o recordset para o primeiro registro (rs.movefrist) para popular uma tabela por exemplo.

    Neste caso troque seu método de abertura do recordset

    de:
    SET rsMaquinas = conexaoDataBase.Execute(strSQL)

    para:

    rsMaquinas.open strSql, conexaoDataBase,3,3

    Mais informações sobre este método de abertura:
    http://www.w3schools.com/ado/met_rs_open.asp


    Abraços

    Estevam
    quinta-feira, 11 de setembro de 2008 20:11

Todas as Respostas

  • André, você esta passando o id da noticia direto na função do JS e não na chamada da função tente fazer assim:


    JS:

    <!--
    function AbrirPopup(id_titulo, window_path , W , H ){
    window.open('detalhespagprincipal.asp?'+id_titulo,'miniwin','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width='+W+',height='+H+',top=100,left=100');

    }
    //-->
    </script>


    ASP:
    <a href="detalhespagprincipal.asp?id=<%=rsMaquinas("ID_MAQUINAS_VENDER")%>" Target="java script:AbrirPopup('<%=rsMaquinas("ID_MAQUINAS_VENDER")%>','NovaJanela','500','300');">


    Faça um teste.

    Abraço

    Estevam
    quinta-feira, 11 de setembro de 2008 18:00
  • Isssoooooooo mesmo meu jovem.....heheheh

    Muito bem vc é o cara valeu

    tive que fazer algumas alterações no link.... mas se não fosse pela sua ajuda não consegueria desde ontem estava tentando fazer isso eheheehehe valeu mesmo cara

    coquei o link assim

     <a href="java script:AbrirPopup('id=<%=rsMaquinas("ID_MAQUINAS_VENDER")%>','NovaJanela','500','300');">

     

    Seria possivel, a janela se ajustar automaticamente ao tamanho do conteudo da página? se possivel, como é?

     

    valeu....

    aproveitando o embalo da mais uma mão aqui

    coloquei na página que lista os registros um recordcount pra exibir o total de registros encontrados

    usei da seguinte forma:

    totalMaquinas = rsDados.recordCount

    e depois

    <% =totalMaquinas %>

    tentei assim também

    <%=response.write(totalMaquinas) %>

     

    mas ta aparecendo -1

    sendo que no DB tem mais de 50 registros.

    porque ta acontecendo isso?

    Valeu Luiz Estevam.

     

    quinta-feira, 11 de setembro de 2008 18:40
  • André quanto ao tamanho da janela de uma olhada no link abaixo talvez já lhe ajuda.

    http://www.javascripter.net/faq/resizing.htm


    Agora quanto ao recordset estar retornando -1, se não me engano isto ocorre pois do jeito que esta abrindo o recordset ele fica somente leitura e somente le para frente, ou seja, voce também não pode voltar registro, isso quer dizer, que mesmo que você fizer um loop para contar os registros, você não conseguirá voltar o recordset para o primeiro registro (rs.movefrist) para popular uma tabela por exemplo.

    Neste caso troque seu método de abertura do recordset

    de:
    SET rsMaquinas = conexaoDataBase.Execute(strSQL)

    para:

    rsMaquinas.open strSql, conexaoDataBase,3,3

    Mais informações sobre este método de abertura:
    http://www.w3schools.com/ado/met_rs_open.asp


    Abraços

    Estevam
    quinta-feira, 11 de setembro de 2008 20:11