Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Legionario-rs

Problema com tabelas

Recommended Posts

Boa noite pessoal,

 

Bom to com um problema na formatação das tabelas deste código não há erro os produtos estão aparecendo certinho é que está mostrando apenas uma coluna sendo que deveria estar mostrando 4. Se puderem me ajudar agradeço.

 


<%
Dim lista,cat_id,cat_nome,nome,lista_produtos,msgnada
lista=Request.querystring("lista")
cat_id=Request.querystring("cat_id")
cat_nome=Request.querystring("cat_nome")
nome=Request.querystring("nome")
%>
<table border=0 width=100% cellspacing="5" cellpadding="0"><tr width=100%><td width=100% valign=top><h3><%=cat_nome%></h3></td></tr>
<%
Select Case lista
Case "categoria"
	set lista_produtos = lojaDB.Execute("SELECT * FROM produtos WHERE cat_id="& cat_id &" AND disp='S' ORDER BY nome")
	msgnada = "No momento não dispomos de nenhum produto neste departamento."
Case "busca"
	set lista_produtos = lojaDB.Execute("SELECT * FROM produtos WHERE nome LIKE '%"& nome &"%' OR descricaop LIKE '%"& nome &"%' OR descricaog LIKE '%"& nome &"%' OR preco LIKE '%"& nome &"%' OR imagem LIKE '%"& nome &"%' AND disp='S' ORDER BY nome")
	msgnada = "Infelizmente não localizamos nenhum produto com esse nome."
Case Else
	%>
	<script>window.location="./index.asp"</script>
	<%
End Select
If lista_produtos.EOF Then 
	Response.Write "<tr><td><h5>" & msgnada & "</h5></td></tr>"
Else 
%>
	<%
	Dim prod_cat_id,prod_id,prod_imagem,prod_descricaop,prod_preco,malha1,col,colu
	malha1 = "sim"
	col=4
	if not lista_produtos.eof then
	colu=1
	response.write "<table><tr><td>"
	while not lista_produtos.EOF
		prod_cat_id = lista_produtos("cat_id")
		prod_id = lista_produtos("id")
		prod_imagem = lista_produtos("imagem")
		prod_descricaop = lista_produtos("descricaop")
		prod_preco = lista_produtos("preco")
		%>                  
		
		<table valign=top width=100% border="2" cellspacing="3" cellpadding="3">
		<tr class=<%=malha1%>>
    	<td align="center"><center><a href="detalhe_produto.asp?id=<%=lista_produtos("id")%>" target="principal"><img src='images/<%response.write lista_produtos ("imagem")%>' height="100" border="0"/></a></tr>
		<tr>
		<td align="center"><center><font face="verdana" size="1" color="black"><b><%response.write lista_produtos ("nome")%><b></td></tr>
		<td align="center"><center><font face="verdana" size="2" color="red"><b>R$ <%response.write formatnumber (lista_produtos("preco"),2)%></b></td></tr>
		<td align="center"><center><font face="verdana" size="1" color="black"><b><%response.write lista_produtos ("condicoes")%><b></td></tr>
		</tr>
		</table>
		
		<%
		if colu=col then
		response.write "</td><tr><td>"

		colu=1

		response.write "</td><td>"

		colu=colu+1

		end if

		lista_produtos.movenext
		If malha1 = "sim" Then malha1 = "nao" Else malha1 = "sim" End If
	wend
		response.write "</td></tr></table>"
End If
lista_produtos.Close
set lista_produtos = Nothing
End if
%>
</table></td></tr>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia,

 

Agora não funciona mais...

 

Tipo de erro:

ADODB.Recordset (0x800A0BCD)

BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual.

Teste/listaprod.inc, line 78

 

É justamente a linha que eu adicionei com a instrução "lista_produtos.movenext"

 

Me ajudem que to ficando maluco com isso já...

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim:

 

<%
Dim lista,cat_id,cat_nome,nome,lista_produtos,msgnada
lista=Request.querystring("lista")
cat_id=Request.querystring("cat_id")
cat_nome=Request.querystring("cat_nome")
nome=Request.querystring("nome")
%>
<table border=0 width=100% cellspacing="5" cellpadding="0"><tr width=100%><td width=100% valign=top><h3><%=cat_nome%></h3></td></tr>
<%
Select Case lista
Case "categoria"
        set lista_produtos = lojaDB.Execute("SELECT * FROM produtos WHERE cat_id="& cat_id &" AND disp='S' ORDER BY nome")
        msgnada = "No momento não dispomos de nenhum produto neste departamento."
Case "busca"
        set lista_produtos = lojaDB.Execute("SELECT * FROM produtos WHERE nome LIKE '%"& nome &"%' OR descricaop LIKE '%"& nome &"%' OR descricaog LIKE '%"& nome &"%' OR preco LIKE '%"& nome &"%' OR imagem LIKE '%"& nome &"%' AND disp='S' ORDER BY nome")
        msgnada = "Infelizmente não localizamos nenhum produto com esse nome."
Case Else
        %>
        <script>window.location="./index.asp"</script>
        <%
End Select
If lista_produtos.EOF Then 
        Response.Write "<tr><td><h5>" & msgnada & "</h5></td></tr>"
Else 
%>
        <%
        Dim prod_cat_id,prod_id,prod_imagem,prod_descricaop,prod_preco,malha1,col,colu
        malha1 = "sim"
        col=4
        colu=1
        response.write "<table><tr><td>"
        while not lista_produtos.EOF
                prod_cat_id = lista_produtos("cat_id")
                prod_id = lista_produtos("id")
                prod_imagem = lista_produtos("imagem")
                prod_descricaop = lista_produtos("descricaop")
                prod_preco = lista_produtos("preco")
                %>                  
                
                <table valign=top width=100% border="2" cellspacing="3" cellpadding="3">
                <tr class=<%=malha1%>>
        <td align="center"><center><a href="detalhe_produto.asp?id=<%=lista_produtos("id")%>" target="principal"><img src='images/<%response.write lista_produtos ("imagem")%>' height="100" border="0"/></a></tr>
                <tr>
                <td align="center"><center><font face="verdana" size="1" color="black"><b><%response.write lista_produtos ("nome")%><b></td></tr>
                <td align="center"><center><font face="verdana" size="2" color="red"><b>R$ <%response.write formatnumber (lista_produtos("preco"),2)%></b></td></tr>
                <td align="center"><center><font face="verdana" size="1" color="black"><b><%response.write lista_produtos ("condicoes")%><b></td></tr>
                </tr>
                </table>
                
                <%
                if colu=col then
                response.write "</td><tr><td>"

                colu=1

                response.write "</td><td>"

                colu=colu+1

                end if

                lista_produtos.movenext
                If malha1 = "sim" Then malha1 = "nao" Else malha1 = "sim" End If
        wend
                response.write "</td></tr></table>"
lista_produtos.Close
set lista_produtos = Nothing
End if
%>
</table></td></tr>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem um code no laboratorio de script , em k você pode especificar o numero de colunas a exibir, pode te ajudar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fui só eu que notei que o HTML dessa table está incorreto? A TABLE dentro do WHILE tem na sua primeira linha (TR) apenas uma coluna (TD) e mesmo assim não está fechada.

 

Agora, um detalhe mais voltado para as WebStandarts, tem TABLES demais aninhadas neste código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

funcionalidades feito com tabelas você percebe o ganho. usando o conceito de tableless

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.