Eu tenho um combo onde faço a filtragem dos generos então a url passa a ser index.asp?f=genero
Eu posso também alterar a ordenação dos registros, selecionando no combobox... então a url ficaria index.asp?o=ordem.
Mas como faço, caso a url já esteja com a variável f, para incluir no final a variável o, então ficaria assim
index.asp?f=genero&o=ordem ou index.asp?o=ordem&f=genero
Eu tenho uma página, index.asp.
Ela inicial com a seleção total dos registros.
Eu tenho um combo onde faço a filtragem dos generos então a url passa a ser index.asp?f=genero
Eu posso também alterar a ordenação dos registros, selecionando no combobox... então a url ficaria index.asp?o=ordem.
Mas como faço, caso a url já esteja com a variável f, para incluir no final a variável o, então ficaria assim
index.asp?f=genero&o=ordem ou index.asp?o=ordem&f=genero
Estou postando o código para facilitar o entendimento.
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%>
<%
var MM_catalogo_STRING = "dsn=catalogo;"
%>
<%
var rsFilmes__MMColParam1 = String(Request.QueryString("f"));
var rsFilmes__MMColParam2 = String(Request.QueryString("o"));
var rsFilmes_cmd = Server.CreateObject ("ADODB.Command");
rsFilmes_cmd.ActiveConnection = MM_catalogo_STRING;
rsFilmes_cmd.CommandText = "SELECT * FROM FILMES";
if ((rsFilmes__MMColParam1 != "") && (rsFilmes__MMColParam1 != "undefined")) {
rsFilmes_cmd.CommandText = rsFilmes_cmd.CommandText + " WHERE GENERO = ?";
}
if ((rsFilmes__MMColParam2 != "") && (rsFilmes__MMColParam2 != "undefined")) {
rsFilmes_cmd.CommandText = rsFilmes_cmd.CommandText + " ORDER BY NOME ASC";
} else {
//aqui estou repetindo a mesma linha no else apenas
//para encurtar o código... alí vai ter um else if
//e para cada valor da tag select será setado uma ordenação dos dados.
rsFilmes_cmd.CommandText = rsFilmes_cmd.CommandText + " ORDER BY NOME ASC";
}
rsFilmes_cmd.Prepared = true;
if (rsFilmes__MMColParam1 != "" && rsFilmes__MMColParam1 != "undefined") {
rsFilmes_cmd.Parameters.Append(rsFilmes_cmd.CreateParameter("param1", 5, 1, -1, rsFilmes__MMColParam1));
}
if (rsFilmes__MMColParam2 != "" && rsFilmes__MMColParam2 != "undefined") {
rsFilmes_cmd.Parameters.Append(rsFilmes_cmd.CreateParameter("param2", 5, 1, -1, rsFilmes__MMColParam2));
}
var rsFilmes = rsFilmes_cmd.Execute();
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
function filtragenero(filtro) {
//Esta é a função do filtro... ela está funcionando perfeitamente.
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("tudo").innerHTML=xmlhttp.responseText;
}
}
if (filtro == "") {
xmlhttp.open("GET","index.asp",true);
xmlhttp.send();
} else {
if (filtro == "99") {
xmlhttp.open("GET","index.asp",true);
xmlhttp.send();
} else {
xmlhttp.open("GET","index.asp?f="+filtro,true);
xmlhttp.send();
}
}
}
function ordenaresultado(ordem) {
//Esta será a função de ordenação...
//aqui é que está começando a dúvida...
//não sei como fazer... me ajudem!!!
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("tudo").innerHTML=xmlhttp.responseText;
}
}
if (ordem == "") {
xmlhttp.open("GET","index.asp",true);
xmlhttp.send();
} else {
if (filtro == "0") {
xmlhttp.open("GET","index.asp",true);
xmlhttp.send();
} else {
xmlhttp.open("GET","index.asp?o="+ordem,true);
xmlhttp.send();
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>.:: Catálogo On-Line ::.</title>
<script language="javascript" src="js/ajax.js"></script>
</head>
<body>
<div id="tudo">
<div id="ferramentas">
<table width="100%" border="0" cellpadding="0" cellspacing="0" id="tbl_ferramentas">
<tr>
<form action="index.asp" method="post" name="frm_ferramentas" target="_self" id="frm_ferramentas">
<td width="11%">Filtragem</td>
<td width="39%">
<label>
<select name="slt_filtragem" id="slt_filtragem" onchange="filtragenero(this.options[this.selectedIndex].value);">
<option value="" selected="selected" > </option>
<option value="99">Todos</option>
<option value="0" >Não Classificados</option>
<option value="1" >Ação</option>
<option value="2" >Animação</option>
<option value="3" >Aventura</option>
<option value="4" >Bíblico/Religião</option>
<option value="5" >Comédia</option>
<option value="6" >Documentário</option>
<option value="7" >Drama</option>
<option value="8" >Épico</option>
<option value="9" >Faroeste</option>
<option value="10">Ficção</option>
<option value="11">Guerra</option>
<option value="12">Musical</option>
<option value="13">Policial</option>
<option value="14">Romance</option>
<option value="15">Show</option>
<option value="16">Suspense</option>
<option value="17">Telenovela</option>
<option value="18">Terror</option>
</select>
</label>
</td>
<td width="12%">Ordenação</td>
<td width="38%">
<label>
<select name="slt_ordenacao" id="slt_ordenacao" onchange="ordenaresultado(this.options[this.selectedIndex].value);">
<option value="" selected="selected" > </option>
<option value="0" >Ordem Alfabética</option>
<option value="1" >Data Lançamento Crescente</option>
<option value="2" >Data Lançamento Decrescente</option>
<option value="3" >Data Aquisição</option>
<option value="4" >Código</option>
<option value="5" >Duração Crescente</option>
<option value="6" >Duração Decrescente</option>
</select>
</label>
</td>
</form>
</tr>
</table>
</div>
<div id="mainContent">
<h1 align="left">Filmes...</h1>
<% if (rsFilmes.EOF && rsFilmes.BOF) { %>
<div align="left">
<table width="100%" border="0" align="center" cellpadding="2" cellspacing="2" bordercolor="#FFFFFF" bgcolor="#FFFFFF">
<tr>
<td>
<div align="center">
<h2>Nenhum Título Encontrado!!!</h2>
</div>
</td>
</tr>
</table>
</div>
<% } %>
<% if (!rsFilmes.EOF || !rsFilmes.BOF) { %>
<% while (!rsFilmes.EOF) {%>
<p><%=(rsFilmes.Fields.Item("COD").Value)%> - <%=(rsFilmes.Fields.Item("NOME").Value)%></p>
<% rsFilmes.MoveNext();}%>
<%}%>
</div>
<div id="footer"></div>
</div>
</body>
</html>
<%
rsFilmes.Close();
%>
A minha dificuldade está nas funções:
filtragenero(filtro)
ordenaresultado(ordem)
Espero que tenham entendido e possam me ajudar.
Vlw.
Pessoal, me dá uma força... pelo menos uma luz de que caminho devo seguir, ou se tem algum exemplo que posso utilizar para estudar e adaptar... pesquisei, mas não encontrei nada.
Question
Evandro Domingues
Eu tenho uma página, index.asp.
Ela inicial com a seleção total dos registros.
Eu tenho um combo onde faço a filtragem dos generos então a url passa a ser index.asp?f=genero
Eu posso também alterar a ordenação dos registros, selecionando no combobox... então a url ficaria index.asp?o=ordem.
Mas como faço, caso a url já esteja com a variável f, para incluir no final a variável o, então ficaria assim
index.asp?f=genero&o=ordem ou index.asp?o=ordem&f=genero
Estou postando o código para facilitar o entendimento.
A minha dificuldade está nas funções:
filtragenero(filtro)
ordenaresultado(ordem)
Espero que tenham entendido e possam me ajudar.
Vlw.
Pessoal, me dá uma força... pelo menos uma luz de que caminho devo seguir, ou se tem algum exemplo que posso utilizar para estudar e adaptar... pesquisei, mas não encontrei nada.
A minha dificuldade está nas funções:
filtragenero(filtro)
ordenaresultado(ordem)
conforme código que postei acima.
Vlw.
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.