Ir para conteúdo

POWERED BY:

Arquivado

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

lucasmoraes

asp e mysql

Recommended Posts

Ola amigos gostaria da ajuda de vocês pelo seguinte.

estou desenvolvendo um sistema para exibir propagandas e enderecos de minha cidade

o sistema separa tudo por zona->bairro->categoria ex Zona Norte->PlanaltoVerde->Lanchonetes

e ai sim ele aparece as propagandas

vou postar as 2 paginas que fazem esta função,

bom o problema e o seguinte minha logica parece estar errada pelo seguinte o cliente seleciona a zona o bairro e a categoria

ate ai funciona mas na hora de exibir as propagandas ele n funciona a paginação

se preferirem eu adicionei um bairro e algumas propagandas de teste

o link

veja o site

 

bom vou postar as paginas

 

pagina index

<!--#include file="connbanco.asp"-->
<div id="site">
	<div id="topo">
    	<div id="logo"><img src="layout/logotipo.jpg" width="212" height="127" /></div>
        <div id="prop1"><img src="layout/publicidade1.jpg" width="725" height="130" /></div>
    </div>
  <div id="menu">
   	  <div class="alinhamenu"><a href="?ac=inicio" class="menu">Pagina inicial</a>   <a href="?ac=atendimento" class="menu">     Atendimento On-line</a>        <a href="?ac=cadastro" class="menu">Cadastre-se já!</a>        <a href="?ac=anuncio" class="menu">Como anunciar </a>       <a href="?ac=busca" class="menu">Busca avançada</a>   </div>
      <div class="busca">
        <form id="formregiao" name="formregiao" method="post" action="index.asp">

          <label>
            <select name="select_zona" id="select_zona" onchange="document.formregiao.submit();">
              <<option selected value="1">SELECIONE SUA REGIAO</option>
              <option>--------------------</option>
              <option value="1">Norte</option>
              <option value="2">Sul</option>
              <option value="3">Leste</option>
              <option value="4">Oeste</option>
            </select>

          </label>
        </form>


      </div>
      
  </div>
    <div id="colesq">
    <%
	idzona = request.Form ("select_zona")
	'response.Write idzona
	if idzona = "" then
	idzona = "1"
	end if
	Set rscate = Server.CreateObject("ADODB.Recordset")
	sql1 = "Select * From bairros where id_zona='"& idzona &"' ORDER BY nome_bairro ASC"
	rscate.open sql1,sig_conexao  
	While Not rscate.Eof
		%>
    	<div class="catmenudinamico">
        	<div class="alinhacatmenudinamico"><a href="?ac=prop&bairro=<%= rscate("id_bairro")%>" class="bairro"><%= rscate("nome_bairro")%></a></div>
        </div>
        <%
		rscate.MoveNext : Wend
		%>
    
    </div>
<div id="colcentro">

    	<div class="alinhamentocentrocont">
        	
            <%
			ac = request.QueryString("ac")
			select case ac
			case "prop"%>
				<!--#include file="propaganda.asp"-->
            <%case "cadastro"%>
				<!--#include file="cadastro.asp"-->	
            <%case "inicio"%>
				<!--#include file="default_pag.asp"-->
             <%case "atendimento"%>
				<!--#include file="atendimento.asp"-->		
			<% case else%>
				<!--#include file="default_pag.asp"-->
            <%end select%>	
       	
          
    	</div>
  </div>
    <div id="coldir">
    	<div class="linha1"></div>
        <div class="propagandamini">
        	<div class="minifoto"><img src="propaganda/funilaria_pintura_manoel_1.jpg" width="110" height="110" /></div>
      </div>
    </div>
    <div id="rodape">
    	<img src="layout/pontilhadorodape.jpg" width="1002" height="9" />
        <div class="rodapetextosalinhamento"><a href="?ac=inicio" class="rodape">Pagina inicial</a> |  <a href="?ac=atendimento" class="rodape">Atendimento On-line</a> |  <a href="?ac=cadastro" class="rodape">Cadastre-se já!</a> |  <a href="?ac=anuncio" class="rodape">Como anunciar?</a><br />
      © Todos os direitos reservados - 2010    Powered-by: <a href="http://www.highnetinformatica.com.br" target="_blank" class="poweredby">HIGHNET SOLUÇÕES</a></div>
    </div>
</div>
</body>
<!--#include file="exitcon.asp"-->

pagina de propagandas

<form name="formcat" method="post">
  <fieldset>
    <legend class="texto">	Selecione a categoria a ser procurada.</legend>
    <p>
      <label>
      <select name="select_categoria" id="select_categoria" onchange="document.formcat.submit();">
              <option selected>SELECIONE AQUI!</option>
                          <%
			 Set rs1 = Server.CreateObject("ADODB.Recordset")
			 sql2 = "Select * From categoria"
			 rs1.open sql2,sig_conexao  
			 While Not rs1.Eof
			 %>   
             <option value="<%= rs1("id_cat")%>"><%= rs1("nome_categoria")%></option>   
<%
			 rs1.moveNext   
			 wend   
			 %>
        </select>
      </label>
    </p>
  </fieldset>
</form>
<%
idbairro = request.QueryString("bairro")
idcategorias = request.form("select_categoria")
Set rspropagandas = Server.CreateObject("ADODB.Recordset")
Set rsCatEscolha = Server.CreateObject("ADODB.Recordset")
sqlcatescolha = "Select * From categoria where id_cat='"&idcategorias&"'"
rsCatEscolha.open sqlcatescolha,sig_conexao 
if idcategorias = "" then

else
%>
<br />
<div class="nomecat">  <%= rsCatEscolha("nome_categoria")%></div>
<br />
<%

rsCatEscolha.close
set rsCatEscolha = nothing
'sqlpropagandas = "Select * From propaganda where id_bairro='"&idbairro&"' and id_cat='"&idcategorias&"' and tipo_propaganda=3 Order by nome_empresa ASC"
'rspropagandas.open sqlpropagandas,sig_conexao 

 
  'While Not rspropagandas.Eof And rspropagandas.AbsolutePage = PaginaAtual 
'While Not rspropagandas.Eof
atualpagina = request.ServerVariables("SCRIPT_NAME")
'numero de registros por pagina...
	pageSize = 1
	if (len(Request.QueryString("p")) = 0 )then  
		paginaAtual = 1
	else  
		paginaAtual = CInt(Request.QueryString("p"))
	end if
' conta o numero de registros...
tipopropaganda = 3
sql = "SELECT COUNT(*) AS total FROM propaganda where id_bairro='"&idbairro&"' and id_cat='"&idcategorias&"' and tipo_propaganda='"&tipopropaganda&"' Order by nome_empresa ASC"
set rs = sig_conexao.execute(sql)
'total de registros
recordCount = Cint(rs("total"))
'calculamos o numero de paginas...
pageCount = Clng(recordCount / pageSize)
	If pageCount < 1 then
		pageCount = 1
	end if
rs.Close()
Flag1 = INT(paginaAtual / pagesize)
PI = INT(Flag1 * pagesize)
	IF PI = 0 THEN
		PI = 1
	END IF
PF = PI + pagesize - 1
' selecionamos os registros...

sql = "SELECT * FROM propaganda where id_bairro='"&idbairro&"' and id_cat='"&idcategorias&"' and tipo_propaganda='"& tipopropaganda &"' LIMIT " & (paginaAtual - 1) * pageSize & " , " & pageSize
set rs = sig_conexao.execute(sql)  
       
do while not rs.eof
%>
<div class="divprop">
  <table width="100%" height="227" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td height="23" align="center" valign="top" ><%= rs("nome_empresa")%></td>
    </tr>
    <tr>
      <td height="106" align="center" valign="top"><div class="boxfotos"><img src="propaganda/<%= rs("caminho_propaganda")%>" width="150" height="95" /></div></td>
    </tr>
    <tr>
      <td height="22" align="center" valign="top" class="detprop"><%= rs("telefone_empresa")%></td>
    </tr>
    <tr>
      <td align="center" valign="top" class="detprop"><%= rs("email_empresa")%><br /><%= rs("site_empresa")%><br /><br />Mais Detalhes</td>
    </tr>
  </table>
  
</div>
<div class="linhasep"></div>
<% 
 rs.MoveNext()
 loop
'rspropagandas.MoveNext : Wend
'rspropagandas.close
'set rspropagandas = nothing
' cria os links de pagians...
	IF CInt(paginaAtual) > 1 THEN
		Response.Write "<a href=?ac=prop&bairro="&idbairro&"&idcat="&idcategorias&"&"&pagina&"p=1>Primeira</a> "
	Else
		Response.Write "<font color=""#ADADAD"">Primeira</font> "
	END IF
	if CInt(paginaAtual) > 1 then
		Response.Write "<a href=?ac=prop&bairro="&idbairro&"&idcat="&idcategorias&"&"&pagina&"p=" & paginaAtual - 1 &">Anterior</a> "
	Else
		Response.Write "<font color='#666666'>Anterior</font>  "
	END IF
for i=1 to pageCount  
	Response.Write("<a href=?ac=prop&bairro="&idbairro&"&idcat="&idcategorias&"&"&pagina&"p=" & i & ">" & i & "</a> ")
next  
	IF (CInt(paginaAtual) < pagecount) THEN         
		IF CInt(PF) <> pagecount THEN   
			Response.Write "<a href=?ac=prop&bairro="&idbairro&"&idcat="&idcategorias&"&"&pagina&"p=" & paginaAtual+1 & ">Próxima</a> "  
		END IF
	Else  
		Response.Write "<font color=""#ADADAD"">Próxima</font> "
	END IF
	IF (CInt(paginaAtual) <> pagecount) THEN         
		IF CInt(PF) <> pagecount THEN   
			Response.Write "<a href=?ac=prop&bairro="&idbairro&"&idcat="&idcategorias&"&"&pagina&"p=" & pagecount & ">Última</a> "  
		END IF
		Else  
			Response.Write "<font color=""#ADADAD"">Última</font> "  
		END IF 
end if 
%>

a aplicação parece funcionar corretamente, mas o problema e o seguinte quando eu clico em proxima ou anterior na paginação ele nao continua as paginas fica em branco, n sei oque pode ser

 

a detalhe se eu clicar em proxima e depois selecionar na checkbox a lanchonete denovo ai ele exibe os registros

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique o suporte para a propriedade AbsolutePage

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique o suporte para a propriedade AbsolutePage

 

amigo a paginação esta funcionando so o unico problema e que eu uso como base na busca sql um combobox para mostrar as categorias e ele ja tem uma opção onchange="document.formcat.submit();

quando o cliente seleciona a categoria ele faiz um request.form desse combobox. e passa pro meu sql

so que o problema e o seguinte

como ele faz um submit para exibir os registros ai gera um id para meu select so que como a paginação faz um novo submit da pagina ele esta perdendo a variavel do combo da pra entender porque eu seleciono a categoria ele exibe o registro ai eu do proximo ele nao exibe nada mais se eu selecionar a categoria novamente ele exibe o proximo registro dinovo entende

como eu faço para nao ficar perdendo esse id pois eu ja sei que o problema esta nele

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me manda todo o seu codigo fonte e o seu BD para darkdemo@gmail.com...

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Te mandei a página corrigida.....

Estude o código e veja onde você errou...

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Te mandei a página corrigida.....

Estude o código e veja onde você errou...

 

Att;

 

amigo muito obrigado pela ajuda

ja verifiquei e tinha me esquecido do if para verificar a sessao

obrigado vlww

 

 

Te mandei a página corrigida.....

Estude o código e veja onde você errou...

 

Att;

 

amigo muito obrigado pela ajuda

ja verifiquei e tinha me esquecido do if para verificar a sessao

obrigado vlww

 

amigo to com outra duvida naquela pagina que você me ajudou

tem um problema em usar sessions

por exemplo sao varias categorias

ele guarda na session uma categoria se o cliente escolhe outra categoria pra ver no meio do caminho ele nao exibe nada

teria outra forma de resolver este problema pq a paginacao funcionou agora ele ta exibindo direitinho mais ele guarda na sessao a primeira escolha do usuario

 

teria outra forma?

Compartilhar este post


Link para o post
Compartilhar em outros sites

É só você fazer alguns IFs, utilizando a lógica para que, quando o select for alterado, ele zere o valor da Session antes de atribuir um novo valor...

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

ou criar mais variavéis sessions

Compartilhar este post


Link para o post
Compartilhar em outros sites

quando eu faço algum if ele zera a session e da o mesmo problema de antes

 

como eu faço esses ifs pq eu no to conseguindo se alguem puder me ajudar

 

meu codigo ta assim o

<form name="formcat" method="post">
  <fieldset>
    <legend class="texto">	Selecione a categoria a ser procurada.</legend>
    <p>
      <label>
      <select name="select_categoria" id="select_categoria" onchange="document.formcat.submit();">
              <option selected>SELECIONE AQUI!</option>
                          <%
			 Set rs1 = Server.CreateObject("ADODB.Recordset")
			 sql2 = "Select * From categoria"
			 rs1.open sql2,sig_conexao  
			 While Not rs1.Eof
			 %>   
             <option value="<%= rs1("id_cat")%>"><%= rs1("nome_categoria")%></option>   
<%
			 rs1.moveNext   
			 wend   
			 %>
        </select>
      </label>
    </p>
  </fieldset>
</form>
<%
idbairro = request.QueryString("bairro")
idcategorias = request.form("select_categoria")
If session("categorias") = "" Then
	session("categorias") = idcategorias
Else
	session("categorias") = session("categorias")
End if	


Set rspropagandas = Server.CreateObject("ADODB.Recordset")
Set rsCatEscolha = Server.CreateObject("ADODB.Recordset")
sqlcatescolha = "Select * From categoria where id_cat='"&session("categorias")&"'"
rsCatEscolha.open sqlcatescolha,sig_conexao 
if session("categorias") = "" then

else
%>
<br />
<div class="nomecat">  <%= rsCatEscolha("nome_categoria")%></div>
<br />
<%

rsCatEscolha.close
set rsCatEscolha = nothing
'sqlpropagandas = "Select * From propaganda where id_bairro='"&idbairro&"' and id_cat='"&idcategorias&"' and tipo_propaganda=3 Order by nome_empresa ASC"
'rspropagandas.open sqlpropagandas,sig_conexao 

 
  'While Not rspropagandas.Eof And rspropagandas.AbsolutePage = PaginaAtual 
'While Not rspropagandas.Eof
atualpagina = request.ServerVariables("SCRIPT_NAME")
'numero de registros por pagina...
	pageSize = 1
	if (len(Request.QueryString("p")) = 0 )then  
		paginaAtual = 1
	else  
		paginaAtual = CInt(Request.QueryString("p"))
	end if
' conta o numero de registros...
tipopropaganda = 3
sql = "SELECT COUNT(*) AS total FROM propaganda where id_bairro='"&idbairro&"' and id_cat='"&session("categorias")&"' and tipo_propaganda='"&tipopropaganda&"' Order by nome_empresa ASC"

set rs = sig_conexao.execute(sql)
'total de registros
recordCount = Cint(rs("total"))
'calculamos o numero de paginas...
pageCount = Clng(recordCount / pageSize)
	If pageCount < 1 then
		pageCount = 1
	end if
rs.Close()
Flag1 = INT(paginaAtual / pagesize)
PI = INT(Flag1 * pagesize)
	IF PI = 0 THEN
		PI = 1
	END IF
PF = PI + pagesize - 1
' selecionamos os registros...

sql = "SELECT * FROM propaganda where id_bairro='"&idbairro&"' and id_cat='"&session("categorias")&"' and tipo_propaganda='"& tipopropaganda &"' LIMIT " & (paginaAtual - 1) * pageSize & " , " & pageSize

set rs = sig_conexao.execute(sql)  
    'response.Write session("categorias")  
do while not rs.eof
%>
<div class="divprop">
  <table width="100%" height="227" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td height="23" align="center" valign="top" ><%= rs("nome_empresa")%></td>
    </tr>
    <tr>
      <td height="106" align="center" valign="top"><div class="boxfotos"><img src="propaganda/<%= rs("caminho_propaganda")%>" width="150" height="95" /></div></td>
    </tr>
    <tr>
      <td height="22" align="center" valign="top" class="detprop"><%= rs("telefone_empresa")%></td>
    </tr>
    <tr>
      <td align="center" valign="top" class="detprop"><%= rs("email_empresa")%><br /><%= rs("site_empresa")%><br /><br />Mais Detalhes</td>
    </tr>
  </table>
  
</div>
<div class="linhasep"></div>
<% 
 rs.MoveNext()
 loop
'rspropagandas.MoveNext : Wend
'rspropagandas.close
'set rspropagandas = nothing
' cria os links de pagians...
	IF CInt(paginaAtual) > 1 THEN
		Response.Write "<a href=?ac=prop&bairro="&idbairro&"&idcat="&session("categorias")&"&"&pagina&"p=1>Primeira</a> "
	Else
		Response.Write "<font color=""#ADADAD"">Primeira</font> "
	END IF
	if CInt(paginaAtual) > 1 then
		Response.Write "<a href=?ac=prop&bairro="&idbairro&"&idcat="&session("categorias")&"&"&pagina&"p=" & paginaAtual - 1 &">Anterior</a> "
	Else
		Response.Write "<font color='#666666'>Anterior</font>  "
	END IF
for i=1 to pageCount  
	Response.Write("<a href=?ac=prop&bairro="&idbairro&"&idcat="&session("categorias")&"&"&pagina&"p=" & i & ">" & i & "</a> ")
next  
	IF (CInt(paginaAtual) < pagecount) THEN         
		IF CInt(PF) <> pagecount THEN   
			Response.Write "<a href=?ac=prop&bairro="&idbairro&"&idcat="&session("categorias")&"&"&pagina&"p=" & paginaAtual+1 & ">Próxima</a> "  
		END IF
	Else  
		Response.Write "<font color=""#ADADAD"">Próxima</font> "
	END IF
	IF (CInt(paginaAtual) <> pagecount) THEN         
		IF CInt(PF) <> pagecount THEN   
			Response.Write "<a href=?ac=prop&bairro="&idbairro&"&idcat="&session("categorias")&"&"&pagina&"p=" & pagecount & ">Última</a> "  
		END IF
		Else  
			Response.Write "<font color=""#ADADAD"">Última</font> "  
		END IF 
end if 
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

A cada requisição da página, sempre verifique se foi enviado algum valor pelo "Form" (Select), caso positivo, zere a "Session" atual e atribua a esta o novo valor passado pelo "Form".

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

um simples laço condicional, resolve

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.