Montar URL com variáveis
:huh:
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
vou postar o código de teste para melhor entender.
<%@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 ID, COD, NOME, GENERO FROM FILMES";if ((rsFilmes__MMColParam1 != "") && (rsFilmes__MMColParam1 != "undefined")) {
rsFilmes_cmd.CommandText = rsFilmes_cmd.CommandText + " WHERE GENERO = ?";
}
rsFilmes_cmd.CommandText = rsFilmes_cmd.CommandText + " ORDER BY";if ((rsFilmes__MMColParam2 = "") && (rsFilmes__MMColParam2 = "undefined")) {
rsFilmes_cmd.CommandText = rsFilmes_cmd.CommandText + " NOME ASC";
} else {
if (rsFilmes__MMColParam2 = "0") {
rsFilmes_cmd.CommandText = rsFilmes_cmd.CommandText + " NOME ASC";
} else {
if (rsFilmes__MMColParam2 = "1") {
rsFilmes_cmd.CommandText = rsFilmes_cmd.CommandText + " COD ASC";
}
}
}
rsFilmes_cmd.Prepared = true;
if (rsFilmes__MMColParam1 != "" && rsFilmes__MMColParam1 != "undefined") {
rsFilmes_cmd.Parameters.Append(rsFilmes_cmd.CreateParameter("param1", 5, 1, -1, rsFilmes__MMColParam1));
}
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) {
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) {
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 (ordem == "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="get" 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" >Código</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. :(
Discussão (7)
Carregando comentários...