Jump to content
Fórum Script Brasil
  • 0

Noca Coluna


Question

Aezzz...

Tenho esse código, o qual me retorna cerca de 160 itens na tela:

<%
executar1="select * from categoria"
set rs1 = DB.execute(executar1)

do while not rs1.eof

  response.write "<b>" + rs1("categoria") + "</b><br>"

 executar2="select * from subcategoria where idsubcat="&rs1("codcat")&""
 set rs2 = DB.execute(executar2)

 do while not rs2.eof
   if rs2("idsubcat") = rs1("codcat") then
   %>
<a href="produtos.asp?subcategoria='<%=rs2("subcategoria")%>'"><%=rs2("subcategoria")%></a><br>
   
   <%
   end if
   rs2.moveNext
 loop
 response.write ("<br>")
 set rs2 = nothing
 rs1.movenext
loop

%>

Porém, está vindo dado embaixo de dado, ou seja, 160 dados em 160 linhas. Queria dividir isso em colunas, como por ex, quando atingir a 41 linha, ele começa uma coluna nova.

Eu achei um esquema aki no fohrum, mas não consigo mesclah com esse meu cohdigo.

Alguehm pode dá uma força?

Vlewzzz!

Link to post
Share on other sites

13 answers to this question

Recommended Posts

  • 0

Sim, sei que é um contador e tal, mas não sei fazer. Por isso que estou pedindo ajuda. As vezes alguém tem um exemplo. Quer dizer, eu até sei fazer isso. O que está complicado é mesclar com esse meu código. Não dá certo.

Tá aí o exemplo que eu peguei do Gusmão:

<table border="1" cellpadding="1" cellspacing="1">
    <%
    Dim coluna = 3
    Dim linha = 0
    'Vamos supor que aqui você já tem o recordset montado
    Do While Not rs.EOF
        If coluna>2 Then
            If linha>0 Then
                Response.Write "</tr>"
            End If        
            Response.Write "<tr>"
            coluna = 1
            linha = linha + 1
        End If
        Response.Write "<td>" & rs("campo") & "</td>"
        coluna = coluna + 1
    Loop
    rs.Close()
    If coluna = 2 Then
        Response.Write "<td>&nbsp;</td>"
    End If
    %>
    </tr>
</table>

Só falta mesclar com meu código citado no primeiro rópico.

Vlewz!

Link to post
Share on other sites
  • 0

Cara uma sugestão q te dou.. é montar as suas colunas em tabelas.. então seriam 4 tabelas com uma coluna e 40 linhas.

Agora essa quantidade de registro pode chegar a passar de 160???? Pois você tem q pensar no layout da página, o q pode acontecer se passar de 160 registros.

Sim, outra duvida q fiquei. você tem 4 categorias, cada uma com 40 subcategorias??? Precisamos enteder o q você tem para mostrar para saber como montar o codigo.

Link to post
Share on other sites
  • 0

VAleuz, Damon...

Entendih o que você quis dizer, só q na prahtica sem chances. não manjo muito.

Tipo, tenho 10 categorias, sendo que dividem-se em subcategorias que variam.

Pra você ter uma idéia, acesse: My Webpage

Na index, embaixo... VEja os categorias...! Estah saindo uma embaixo da outra. Por isso q eu queria pular pra prohxima coluna quando atingir um numero X de linha.

POderah aumentar esses itens sim. só q dae qualquer coisa eu altero o cohdigo, sabendo como faz logicamente.

Agradeçco a atençcaum!

Vlewz!

Squeci de falah uma coisa... Teim uma coluna do lado só com dois itens, mas neim levem em consideraçaum. é somente teste. Hehehe!

Edited by X.bArArA.X
Link to post
Share on other sites
  • 0

fiz uma alteração de cabeça no seu código não testei mais tenta ia é só sibstituir essa que você passo por essa que esta aqui..., ve se funciona

  <table width="500"  border="0" cellspacing="0" cellpadding="0">
    <tr>
<%
executar1="select * from tabela"
set rs1 = DB.execute(executar1)

do while not rs1.eof


 response.write "<td><b>" + rs1("categoria") + "</b></td>"

%>
</tr>
<tr>
<%
executar2="select * from subcategoria where idsubcat="&rs1("codcat")&""
set rs2 = DB.execute(executar2)

do while not rs2.eof
  if rs2("idsubcat") = rs1("codcat") then
  %>
<td><a href="produtos.asp?subcategoria='<%=rs2("subcategoria")%>'"><%=rs2("subcategoria")%></a><br></td>
  </tr>
  <%
  end if
  rs2.moveNext
loop
response.write ("<br>")
set rs2 = nothing
rs1.movenext
loop

%>   
  </table>

Link to post
Share on other sites
  • 0
<%
  	executar1="select * from categoria"
  	set rs1 = DB.execute(executar1)
  
  If not rs1.eof then
    vetor = rs1.getrows
    db.close
    set db = nothing
    
    maxRegistro = ubound(vetor, 2)
    maxColuna = ubound(vetor, 1)
    Contador = 0
    
   Response.Write("<table border=1>")
   While Contador < maxRegistro
      Response.Write("<tr>")
     For C = 0 To 3
      If contador < maxRegistro Then
         Response.Write("<td><p>")
        Response.Write(vetor(1, Contador))
        Response.Write("</p></td>")
        Contador = Contador + 1
    	End If
     Next
     Response.Write("</tr>")
  	Wend
   Response.Write("</table>")    
  End If
  
%>

Edited by ursolouco
Link to post
Share on other sites
  • 0

Você precisa de a cada 40 items uma nova COLUNA(TD) ou uma nova LINHA(TR)?

Link to post
Share on other sites
  • 0

Simples!

<table border="1" width="100%">
<%
'Preste atenção no exemplo!!!
'rs.Open sql,con
'if not rs.eof then arr = rs.getrows
'rs.close
y = 1
For x = 0 To 322 Step 1'LBound(arr,2) To UBound(arr,2) Step 1
if (x) = 0 then Response.Write("<tr>"&vbCrLf&"<td valign=""top"">")'if (x) = LBound(arr,2)...
if (x)/40 = y then y = y + 1 : Response.Write("</td>"&vbCrLf&"<td valign=""top"">")
%>produto<%=x+1%><br /><%
if (x) = 322 then Response.Write("</td>"&vbCrLf&"</tr>")'if (x) = UBound(arr,2)...
Next%>
</table>

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148720
    • Total Posts
      644508
×
×
  • Create New...