Ir para conteúdo
Fórum Script Brasil
  • 0

Retornar valores com Ajax + PHP


buthy

Pergunta

Olá pessoal!

Queria saber se alguém poderia me ajudar na seguinte questão:

Possuo um <select> que lista categorias, no evento onChange dele eu pegaria o valor que está no value e passaria pelo método GET para um arquivo .php. Até aí tudo bem...

No meu arquivo .php eu faria um select no banco de dados filtrando os dados pelo id da categoria.

Aí que vem a dúvida: como eu retornaria os valores encontrados pelo select?

Além disso, possuo outras dúvidas:

- Como eu deixaria dados sendo exibidos por padrão, caso nenhuma categoria tenha sido selecionada ainda?

- Teria como no evento onchange alterar a url para arquivo.php?id=value? Isso para que quando alguém compartilhasse a url o visitante caísse na categoria selecionada no id da url...

- Como eu faria para exibir um "carregando"?

Segue o meu código:

<script type="text/javascript">
        $(function () {
                $("#categorias").selectbox({
                        onChange: function (val, inst) {
                                $.ajax({
                                        type: "GET",
                                        data: {id_categoria: val},
                                        url: "portfolio_ajax.php",
                                        success: function (data) {
                                                $("ul#lista").html(data);
                                        }
                                });
                        },
                        effect: "slide"
                });
        });
        $(function() {
        /* initiate plugin */
        $("div.holder").jPages({
                containerID: "lista",
                perPage      : 2,
                first       : "PRIMEIRA",
                previous    : "ANTERIOR",
                next        : "PRÓXIMA",
                last        : "ÚLTIMA"
        });
        });
</script>

<section id="portfolio">

                                <div class="fleft _30 mbottom_30">
                                        <select name="categorias" id="categorias" tabindex="1">
                                                <option value="0">-- Selecione uma categoria --</option>
                                                <?php
                                                
                                                $sql = mysql_query("SELECT * FROM portfolio_categoria ORDER BY titulo_categoria ASC");
                                                while ($cat = mysql_fetch_array($sql)){

                                                ?>

                                                        <option value="<?php echo $cat['id_categoria']; ?>"><?php echo $cat['titulo_categoria']; ?></option>
                                                
                                                <?php

                                                }

                                                ?>
                                        </select>
                                </div>

                                <div class="paginacao fright right _60 mbottom_40">
                                        <div class="holder"></div>
                                </div>

                                <div class="clear"></div>

                                <ul id="lista">

                                        <?php

                                        $cont = 1;
                                        $sql = mysql_query("SELECT * FROM portfolio ORDER BY id_portfolio DESC");
                                        if (mysql_num_rows($sql) == 0){
                                                echo '<p>Até o momento nenhum trabalho foi cadastrado em nosso portfólio.</p>';
                                        }else{
                                                while ($row = mysql_fetch_array($sql)){
                                                        $sql_categoria = mysql_query("SELECT * FROM portfolio_categoria WHERE id_categoria = ".$row['id_categoria']." LIMIT 1");
                                                        $categoria = mysql_fetch_array($sql_categoria);
                                        ?>
                                                                
                                                        <li class="<?php if ($cont % 2 == 0){ echo 'fright'; }else{ echo 'fleft'; } ?>">

                                                                <a href="index.php?pag=detalhes-portfolio&id=<?php echo $row['id_portfolio']; ?>">
                                                                        
                                                                        <div class="p_5">

                                                                                <figure class="img fleft">
                                                                                        
                                                                                        <div class="detalhe"></div>

                                                                                        <div class="mais"></div>

                                                                                        <img src="uploads/portfolio/sacola.png" alt="" />

                                                                                </figure>

                                                                                <div class="categoria">
                                                                                        <?php echo $categoria['titulo_categoria']; ?>
                                                                                </div>

                                                                                <div class="dados fright">

                                                                                        <h2><?php echo $row['titulo_portfolio']; ?></h2>

                                                                                        <article class="texto mtop_5">

                                                                                                <?php echo $row['descricao_portfolio']; ?>

                                                                                        </article>

                                                                                </div>

                                                                        </div>

                                                                </a>

                                                        </li>

                                        <?php

                                                        $cont++;
                                                }

                                        }

                                        ?>

                                </ul>

                                <div class="clear"></div>

                        </section> <!-- portfolio -->
portfolio_ajax.php
<?php

        include("adm/db/conecta.php");

        $id = $_GET['id_categoria'];

        $sql = mysql_query("SELECT * FROM portfolio WHERE id_categoria = ".$id." ORDER BY id_portfolio DESC");
        while ($row = mysql_fetch_array($sql)){
                
        }

?>

Fico no aguardo de uma ajudinha!

Muito obrigado!

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...