Modifical Consulta SQL de acordo com opção do Combobox
Olá pessoal, estou precisando fazer o seguinte: tenho uma página que é listado alguns registros de acordo com uma consulta sql,
porém preciso dar uma opção para o usuário de filtrar os registros com um combobox, nunca fiz isso e não tenho idéia de como seria,
minha página é a seguinte:
<?
include "includes/conexao.php";
//paginacao
// Pegar a página atual por GET
$p = $_GET["p"];
// Verifica se a variável tá declarada, senão deixa na primeira página como padrão
if(isset($p)) {
$p = $p;
} else {
$p = 1;
}// Defina aqui a quantidade máxima de registros por página.
$qnt = 10;
// O sistema calcula o início da seleção calculando:
// (página atual * quantidade por página) - quantidade por página
$inicio = ($p*$qnt) - $qnt;
// fim paginacao
if(isset($_GET["tema"])) {
$tema = $_GET["tema"];
$sql_select = "SELECT * FROM audio WHERE id_tema = '$tema' LIMIT $inicio, $qnt ";
} else {
$sql_select = "SELECT * FROM audio LIMIT $inicio, $qnt";
}
$exesql = mysql_query($sql_select);
$total = mysql_num_rows($exesql);
while ($dados = mysql_fetch_array($exesql)) {
$idmsg = $dados['id_audio'];
$caminho = $dados['caminho'];
$descricao = $dados['desc_audio'];
?>
<?
if(isset($_COOKIE["validacao"])) {
$validacao = $_COOKIE["validacao"];
$idcli = $_COOKIE["idcli"];
$login = $_COOKIE["login"];
$nomecli = $_COOKIE["nomecli"];
$idclimd5 = md5($idcli);
$md5 = md5('true');} else {
$idcli = '0000,1';
$idclimd5 = md5($idcli);
}
?>
<div align="right">
<table width="95%" bgcolor="#FF70A8" onmouseover="style.backgroundColor='#FF0167';" onmouseout="style.backgroundColor='#FF70A8'" height="36" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom-style: solid; border-bottom-width: 1px">
<tr>
<td width="87">
<p align="center"><a href="compra-mensagem.php?msg=<?=$idmsg?>&franq=<?=$idcli?>&id=<?=$idclimd5?>"><img border="0" src="img/enviar.png" width="79" height="26" alt="Enviar esta Mensagem"></a></td>
<td width="261">
<font face="Verdana" size="2"><span style="text-decoration: none"><font color="#FFFFFF"><?=$descricao?></font></span></font></td>
<td>
<div align="center"><object type="application/x-shockwave-flash" data="player_mp3_maxi.swf" width="200" height="20">
<param name="movie" value="player_mp3_maxi.swf" />
<param name="bgcolor" value="#ffffff" />
<param name="FlashVars" value="mp3=audio/<?=$caminho?>&loadingcolor=FF0167&bgcolor1=ffffff&bgcolor2=ffffff&slidercolor1=FF0167&slidercolor2=FF0167&sliderovercolor=FF0167&buttoncolor=FF0167&buttonovercolor=FF0167" />
</object></font></div>
</td>
</tr>
</table>
</div>
<?
}
echo '<br>';
echo '<br>';
echo '<div align="center" id="paginas">';
// Faz uma nova seleção no banco de dados, desta vez sem LIMIT,
// para pegarmos o número total de registros
$sql_select_all = "SELECT * FROM audio";
// Executa o query da seleção acimas
$sql_query_all = mysql_query($sql_select_all);
// Gera uma variável com o número total de registros no banco de dados
$total_registros = mysql_num_rows($sql_query_all);
// Gera outra variável, desta vez com o número de páginas que será precisa.
// O comando ceil() arredonda 'para cima' o valor
$pags = ceil($total_registros/$qnt);
// Número máximos de botões de paginação
$max_links = 5;
// Exibe o primeiro link 'primeira página', que não entra na contagem acima(3)
echo '<font face="verdana" size="2">';
echo "<a href='mensagens.php?p=1' target='_self'>Primeira Página</a> ";
echo '</font>';
// Cria um for() para exibir os 3 links antes da página atual
for($i = $p-$max_links; $i <= $p-1; $i++) {
// Se o número da página for menor ou igual a zero, não faz nada
// (afinal, não existe página 0, -1, -2..)
if($i <=0) {
//faz nada
// Se estiver tudo OK, cria o link para outra página
} else {
echo '<font face="verdana" size="2">';
echo "<a href='mensagens.php?p=".$i."' target='_self'>".$i."</a> ";
echo '</font>';
}
}
// Exibe a página atual, sem link, apenas o número
echo $p." ";
// Cria outro for(), desta vez para exibir 3 links após a página atual
for($i = $p+1; $i <= $p+$max_links; $i++) {
// Verifica se a página atual é maior do que a última página. Se for, não faz nada.
if($i > $pags)
{
//faz nada
}
// Se tiver tudo Ok gera os links.
else
{
echo '<font face="verdana" size="2">';
echo "<a href='mensagens.php?p=".$i."' target='_self'>".$i."</a> ";
echo '</font>';
}
}
// Exibe o link "última página"
echo '<font face="verdana" size="2">';
echo "<a href='mensagens.php?p=".$pags."' target='_self'>Última Página</a> ";
echo '</font>';
echo '</div>';
?>
neste combobox eu teria duas opções, e ao usuário selecionar a opção deveria refazer a consulta porém passando como condição (WHERE) para um campo da tabela o valor deste combobox.
alguém poderia me ajudar? Obrigado desde já!
Discussão (4)
Carregando comentários...