Jump to content
ygorme

Erro de paginação

Recommended Posts

Por favor, alguém me ajuda? Limitei para 12 imagens por página. Fiz o upload de 24 fotos.. mas só aparece a primeira página (numéro 1). Ou seja, era para ter aparecido as próximas páginas (2 e 3) No site, a paginação não é clicável.É algum erro bobo que estou deixando passar :(

 

<?php
session_start();
require_once '_header.php';
require_once '_database.php';

if (!empty($_GET['act']) && $_GET['act'] == 'logout') {
    unset($_SESSION["id"]);
    header('location:index.php');
    exit();
}

$arr_cat[] = array();
$records = $conn->prepare('SELECT * FROM categoria order by nome');
if ($records->execute()) {
    $arr_cat = $records->fetchAll(PDO::FETCH_ASSOC);
}

$_POST['paginaAtual'] = !empty($_POST['paginaAtual']) ? trim($_POST['paginaAtual']) : 1;
$_POST['qtdeItensPagina'] = !empty($_POST['qtdeItensPagina'])  ? $_POST['qtdeItensPagina']  : 12;

// always initialize a variable before use!
$conditions = array();
$parameters = array();

// conditional statements
if (!empty($_POST['legenda']))
{
    // here we are using LIKE with wildcard search
    // use it ONLY if really need it
    $conditions[] = 'legenda LIKE ?';
    $parameters[] = '%'.$_POST['legenda']."%";
}else $_POST['legenda'] = '';

if (!empty($_POST['id_categoria']))
{
    // here we are using equality
    $conditions[] = 'id_categoria = ?';
    $parameters[] = $_POST['id_categoria'];
}else $_POST['id_categoria'] = 0;

// the main query
$sql = "SELECT * FROM post";

// a smart code to add all conditions, if any
if ($conditions)
{
    $sql .= " WHERE ".implode(" AND ", $conditions);
}

$parameters[] = ($_POST['paginaAtual'] - 1) * $_POST['qtdeItensPagina'];
$parameters[] = $_POST['qtdeItensPagina'];
$sql_post = $sql . " ORDER BY id DESC LIMIT ?, ?";

// the usual prepare/execute/fetch routine
$stmt = $conn->prepare($sql_post);
$stmt->execute($parameters);
$arr_post = $stmt->fetchAll(PDO::FETCH_ASSOC);

$stmt_qtde = $conn->prepare($sql);
$stmt_qtde->execute($parameters);
$vet = $stmt_qtde->fetch( PDO::FETCH_ASSOC );
$qtdeTotal = (int)$vet['qtde'];

?>
<main role="main">
  <section class="shadow-md p-3 bg-white rounded">
    <div class="container">
    <form method="post">
      <div class="form-row align-items-center">
      <div class="col-sm-12 col-md-8 ">
        <input type="text" name="legenda" value="<?=$_POST['legenda']?>" class="form-control" placeholder="Busque por um assunto ou hashtag...">
      </div>
      <div class="col-sm-12 col-md-3 ">
        <select class="custom-select" name="id_categoria">
          <option value="0">Todas categorias...</option>
          <?php foreach ($arr_cat as $row) {?>
              <option <?=$row['id'] == $_POST['id_categoria'] ? 'selected' : ''?> value="<?=$row['id'];?>"><?=$row['nome'];?></option>
          <?php }?>
        </select>
       </div>
        <button type="submit" class=" col-sm-12 col-md-1 btn btn-primary"><i class="fas fa-search"></i></button>
      </div>
      <input type="hidden" name="paginaAtual" value="<?=$_POST['paginaAtual']?>" />
      </form>
  </section>

  <div class="album py-5">
    <div class="container">

        <?php if (count($arr_post) > 0) { ?>
            <div class="row">
                <?php foreach ($arr_post as $row) {?>
                  <div class="col-sm-12 col-md-3">
                      <div class="card mb-4 shadow-sm">
                        <img class="card-img-top" src="<?=$file_path . $row['nome_file']?>">

                        <div class="card-body">
                          <div class="card-title"><h6><?=$row['nome']?></h6></div>

                          <div class="d-flex justify-content-between align-items-center">
                            <div class="btn-group">
                                <?php if(!$limite_alcancado){?>
                                    <a data-toggle="tooltip" title="Ao pressionar download, será copiado a legenda para área de transferência" data-text="<?=$row['legenda']?>" target="_blank" href="_download.php?q=<?=base64_encode($row['id'].$separador.$row['nome'])?>" class="btn btn-sm btn-outline-primary btn_legend"><i class="fas fa-download"></i> Download</a>
                                    <a href="detalhe.php?q=<?=base64_encode($row['id'].$separador.$row['nome'])?>" class="btn btn-sm btn-outline-secondary"><i class="fas fa-info-circle"></i> Visualizar Legenda</a>
                                <?php }else{?>
                                    <a target="_blank" href="https://www.odontop.com" class="btn btn-sm btn-success"><i class="fas fa-up"></i> Limite alcançado - realizar upgrade?</a>
                                <?php }?>
                            </div>
                            <!-- <small class="text-muted">9 mins</small> -->
                          </div>
                        </div>
                      </div>
                    </div>
                <?php } //foreach?>
            </div>
            <div class="row shadow-md p-3 bg-white rounded">
                <div class="col-sm-12 col-md-6">
                    <div id="paginacao"></div>
                </div>
            </div>      
        <?php
        } else { //if
            echo '<div class="alert alert-warning">Nenhuma imagem encontrada</div>';
        }
        ?>
    </div>
  </div>
</main>

<footer class="text-muted">
  <div class="container">
    <p class="float-right">
      <a href="#navbarHeader"></a>
    </p>
    <p>Odontop - Copyright © 2019</p>

  </div>
</footer>

<script type="text/javascript">
    const totalItens = <?=$qtdeTotal?>;
    const itensPorPagina = <?=$_POST['qtdeItensPagina']?>;
</script>

<script src="js/jquery-3.3.1.slim.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/pagination.min.js"></script>
<script src="js/post.js"></script>
  </body>
</html>

 

oi.png

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By dimoreira
      Boa noite programadores, estou a procura de um profissional que desenvolva um site simples, que tem apenas que me mostrar os resultados em tempo real da pagina de resultados da bet 365. Mas especificamente do futebol virtual. Vou mandar em anexo uma foto pra ter como base.   O modelo mais simples possivel é somente para acompanhar os resultados em tempo real sem ter q esta acessando o site da bet.


    • By edison.silva
      pessoal, alguém sabe como converte o valor 9,8132E+12 para um inteiro normal com php?
      este valor é um CNPJ gostaria de converter para o valor normal e ele esta vindo como notação cientifica..
      tentei: sprintf( '%.0f', 9.8132E+12 )
      resultado: 9813200000000 preencheu com zeros
    • By violin101
      Caros amigos, saudações...
       
      Por favor me perdoa em recorrer ao auxílio dos amigos.
       
      Gostaria de tirar uma dúvida.
       
      Tenho uma Tabela da seguinte forma:
       # - CODIGO - DESCRIÇÃO - VALOR
      [ ] - 100010 - Produto-A31 -   10,00
      [ ] - 100020 - Produto-A21 -   15,00
      [ ] - 100030 - Produto-A41 -   30,00
       
      MINHA DÚVIDA:
      1 - como faço para percorrer toda a TABELA antes de Salvar ?
      2 - após percorrer a TABELA se o sistema encontrar um dos itens já Cadastrado, o sistema não Cadastra e mostra uma mensagem de produtos já cadastrados ?
       
      Grato,
       
      Cesar
    • By eduardo_barros
      Boa tarde,
       
      Possuo uma aplicação rodando em Laravel com Db Mysql.
       
      Porem um cliente solicitou que o nosso sistema ficasse gravando informações no banco de dados SQL deles e vice e versa, só que o sistema deles não tem API, nesse caso vamos executar as queries do banco banco deles do nosso lado lendo e escrevendo, como funciona essa multiconexão de bancos dentro do laravel?
    • By Marcones Borges
      Olá, bom dia, estou tendo dificuldade em uma filtragem, quando passo o parâmetro para o select em forma de variável ele não exibe resultados.
       
      Segue o código:

              $usuario='gerente';         function montaSelect()         {         $sql = "SELECT * FROM membros WHERE user='".$usuario."' ";                 $query = mysql_query( $sql );                 if( mysql_num_rows( $query ) > 0 )                 {                         while( $dados = mysql_fetch_assoc( $query ) )                         {                                 $opt .= '<option value="'.$dados['nome'].'">'.$dados['nome'].'</option>';                         }                 }                 else                         $opt = '<option value="0">Nenhum Membro cadastrado</option>';                 return $opt;         }


      Quando substituo a variável pelo nome usuário gerente, ele lista normal, mais na variável não da certo. já tentei user='{$usuario}'  , user='$usuario' , user=$usuario}, nenhuma forma funciona...

      Alguém pode me ajudar..
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.