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

Paginação


Grandhalf

Pergunta

Boa tarde pessoal sou eu denovo enchendo vocês, mas agora eu to com um problema com paginação....

Eu to com uma pag aki que eu gostaria de colocar paginação, mas como não fui eu quem fez o codigo eu to meio enrolado pra fazer isso, eu gostaria de uma ajuda eu quem puder me indicasse um tuto pra mim poder resolver isso. O codigo eu vou colocar aki dos 2 arquivos necessario.

auction.class.php

<? class auction {

public $idProduto, $andamento, $hrAtual, $tempo, $hrEvento, $dif, $cor, $por, $valor, $status, $corrente, $vma;

public function __construct($idProduto) { $this->idProduto = $idProduto; }

public function start() {

$selectP = mysql_query("SELECT por, valor, status, tempo, inicio, corrente, vma FROM tb_produtos WHERE idProduto = '$this->idProduto' LIMIT 1");

$dadoP = mysql_fetch_object($selectP);

$this->por = $dadoP->por;

$this->valor = $dadoP->valor;

$this->status = $dadoP->status;

$this->tempo = $dadoP->tempo;

$this->inicio = $dadoP->inicio;

$this->corrente = $dadoP->corrente;

$this->vma = $dadoP->vma;

$timeAtual = strtotime(date('Y-m-d'));

$timeInicio = strtotime(substr(date("$this->inicio"), 0, 10));

if ($this->status == 1) {

if ($timeAtual >= $timeInicio) {

$timeI = strtotime(date($this->corrente)) + $this->tempo;

$timeA = strtotime(date('Y-m-d H:i:s'));

$this->dif = $timeI-$timeA;

if ($this->dif>0) {

if ($this->dif <= $this->tempo) {

if ($this->dif<=9 && $this->dif>=6) { $this->cor="#800000"; }

if ($this->dif<=5 && $this->dif>=4) { $this->cor="#BB0000"; }

if ($this->dif<=3 && $this->dif>=2) { $this->cor="#D20000"; }

if ($this->dif<=2 && $this->dif>=1) { $this->cor="#F90000"; }

if ($this->dif<0) { $this->cor="#FF0000"; }

if ($this->dif<=9) { $this->dif="0".$this->dif; }

$this->andamento = 2;

}

else { $this->andamento = 1; }

}

else if($this->dif<=0) { $this->andamento = 3; }

}

else { $this->andamento = 1; }

} else { $this->andamento = 3; }

}

public $usuario, $valorA, $countUl, $dtC, $idUsuario;

public function finalbid() {

$selectUl = mysql_query("SELECT tu.login, tpl.idUsuario, tpl.valorA, tpl.dtC FROM tb_prod_lances AS tpl INNER JOIN tb_usuarios AS tu ON tpl.idUsuario = tu.idUsuario WHERE tpl.idProduto = '$this->idProduto' ORDER BY tpl.idLance DESC LIMIT 1");

$dadoUl = mysql_fetch_object($selectUl);

$this->countUl = mysql_num_rows($selectUl);

$this->usuario = $dadoUl->login;

$this->valorA = $dadoUl->valorA;

$this->dtC = $dadoUl->dtC;

$this->idUsuario = $dadoUl->idUsuario;

}

public $rrAdI;

public function auctioned() {

if ($this->andamento == 3) {

$selectUL = mysql_query("SELECT idUsuario FROM tb_prod_lances WHERE idProduto = '$this->idProduto' ORDER BY idLance DESC LIMIT 1");

$countUL = mysql_num_rows($selectUL);

if ($countUL) {

$selectPA = mysql_query("SELECT * FROM tb_prod_arrematados WHERE idProduto = '$this->idProduto'");

$countPA = mysql_num_rows($selectPA);

if (!$countPA) {

$updatePA = mysql_query("UPDATE tb_produtos SET status=2 WHERE idProduto = '$this->idProduto' LIMIT 1");

$dadoUL = mysql_fetch_object($selectUL);

$this->rrAdI = $dadoUL->idUsuario;

if ($updatePA ) {

$dtF = date('Y-m-d H:i:s');

$insertPA = mysql_query("INSERT tb_prod_arrematados (idUsuario, idProduto, dtF) VALUES ('$dadoUL->idUsuario', '$this->idProduto', '$dtF')");

}

}

}

else { mysql_query("UPDATE tb_produtos SET status = 3 WHERE idProduto = '$this->idProduto' LIMIT 1"); }

}

}

public $counTL;

public function totalbids() {

$selectTL = mysql_query("SELECT * FROM tb_prod_lances WHERE idProduto = '$this->idProduto'");

$this->countTL = mysql_num_rows($selectTL);

return $this->countTL;

}

public function imagem() {

$selectImg = mysql_query("SELECT imagem FROM tb_prod_imagens WHERE idProduto = '$this->idProduto' AND imagem != 'semimagem.png' LIMIT 1");

$countImg = mysql_num_rows($selectImg);

if ($countImg) { $dadoImg = mysql_fetch_object($selectImg); }

else {

$selectImg = mysql_query("SELECT imagem FROM tb_prod_imagens WHERE idProduto = '$this->idProduto' LIMIT 1");

$dadoImg = mysql_fetch_object($selectImg);

}

return $dadoImg->imagem;

}

public function newLance($myId) {

$this->finalbid();

if ($this->idUsuario != $myId || $this->countUl == 0) {

if ($this->status == 1 && $this->andamento < 3) {

$this->valorA += 00.01;

$selectMyU = mysql_query("SELECT lances FROM tb_usuarios WHERE idUsuario = '$myId' LIMIT 1");

$dadoMyU = mysql_fetch_object($selectMyU);

if ($dadoMyU->lances >= 1) {

if ($this->dif <= $this->tempo && $this->andamento == 2) {

$queryP = 'UPDATE tb_produtos SET corrente="'.date('Y-m-d H:i:s').'", por = "'.$this->valorA.'" WHERE idProduto="'.$this->idProduto.'" LIMIT 1';

}

else {

$queryP = 'UPDATE tb_produtos SET por = "'.$this->valorA.'" WHERE idProduto="'.$this->idProduto.'" LIMIT 1';

}

$updateP = mysql_query($queryP);

if ($updateP) {

$insertLance = mysql_query("INSERT tb_prod_lances (idUsuario, idProduto, valorA) VALUES ('$myId', '$this->idProduto', '$this->valorA')");

if ($insertLance) {

$updateUser = mysql_query("UPDATE tb_usuarios SET lances=(lances-1) WHERE idUsuario = '$myId' LIMIT 1");

}

}

}

else { echo ("&lt;script type=\"text/javascript\">alert('Você não possui lances.')</script>"); }

}

}

}

public function newDate() {

# SEPARA ANO, MES, DIA, HORA

$year = substr($this->inicio, 0, 4);

$month = substr($this->inicio, 5, 2);

$day = substr($this->inicio, 8, 2);

$hour = substr($this->inicio, 11, 8);

# CRIA NOVA DATA

$nextDt = mktime (0, 0, 0, $month, $day + 1, $year);

$nextDt = strftime("%Y-%m-%d", $nextDt);

$nextDt = $nextDt.' '.$hour;

# ATUALIZA

$query = mysql_query('UPDATE tb_produtos SET inicio="'.$nextDt.'", corrente = "'.$nextDt.'" WHERE idProduto="'.$this->idProduto.'" LIMIT 1');

}

}

?>

o da home.php esse eu tirei a ultima parte porque eu acho não é necessario...

<? require_once("_pagx/banner.php"); ?>

<? require_once("_pagx/mainBar.php"); ?>

<?

$n = $_REQUEST["n"];

$i = $_REQUEST["i"];

if (!isset($n)) { $n = 0; }

if (!isset($i)) { $i = 1; }

require("_sys/_incx/pagx.class.php");

require("_sys/_incx/auction.class.php");

$pag = new paginacao("tb_produtos AS tp INNER JOIN tb_prod_arrematados AS tpar ON tp.idProduto = tpar.idProduto", "status = 2", "inicio DESC");

$pag->limite = 8;

$pag->valor = $n;

$pag->calcula();

$filter = new filter;

$selectPdA = mysql_query("SELECT * FROM tb_produtos AS tp INNER JOIN tb_prod_arrematados AS tpar ON tp.idProduto = tpar.idProduto WHERE tp.status = 2 LIMIT 10");

$countPdA = mysql_num_rows($selectPdA);

?>

<div id="l01">

<div id="col01">

<div class="title01">

<div>

<img src="_imgx/auc.png" class="img">  Leilões Ativos - Compre produtos a preços incríveis!

</div>

</div>

<div class="ctn01">

<b class="b1"></b><b class="b2"></b><b class="b3"></b><b class="b4"></b>

<div id="lUProd" style="background: #0084ff; margin-top:0px;">

<?

require_once("_sys/_incx/auction.class.php");

$filter = new filter;

# SELECIONA PRODUTO ATIVOS

$selectPd = mysql_query("SELECT * FROM tb_produtos WHERE status = 1 ORDER BY inicio ASC LIMIT 6");

$countPd = mysql_num_rows($selectPd);

# SELECIONA PRODUTO ARREMATADOS

$selectPdA = mysql_query("SELECT * FROM tb_produtos AS tp INNER JOIN tb_prod_arrematados AS tpar ON tp.idProduto = tpar.idProduto WHERE tp.status = 2 ORDER BY dtF DESC LIMIT 5");

$countPdA = mysql_num_rows($selectPdA);

if ($countPd) {

while ($dadoPd = mysql_fetch_object($selectPd)) {

$leilao = new auction($dadoPd->idProduto);

?>

<div class="nProd" id="nProd<?=$dadoPd->idProduto?>">

<div id="getTempProd<?=$dadoPd->idProduto?>" style="display:none;"><?=$dadoPd->tempo?></div>

<div id="getStatusProd<?=$dadoPd->idProduto?>" style="display:none;"><?=$dadoPd->status?></div>

<ul>

<li style="height:30px;"><span class="fnt01"><?=substr($dadoPd->produto, 0, 39)?></span></li>

<li onClick="ir('auction&p=<?=$dadoPd->idProduto?>')">

<img src="_imgx/_prodx/<?=$leilao->imagem()?>" class="img_iProd">

<div id="clock<?=$dadoPd->idProduto?>" class="clock">Inicio do Leilão <br> <?=$filter->dttOut($dadoPd->inicio)?></div>

</li>

<li><div class="fnt06" id="tProd<?=$dadoPd->idProduto?>"></div></li>

<li>

<!-- de <s><b><?=$filter->moneyOut($dadoPd->valor)?></b></s> -->

<br><span class="fnt03" id="vProd<?=$dadoPd->idProduto?>"></span>

</li>

<li id="ctnBtn<?=$dadoPd->idProduto?>">

<input type="image" class="btnImg3" src="_imgx/btnLance.png" name="btnLance<?=$dadoPd->idProduto?>" id="btnLance<?=$dadoPd->idProduto?>" value=" " onClick="Load('newLance&idProduto=<?=$dadoPd->idProduto?>')">

</li>

<li>

<div class="fnt04">Último Lance:</div>

<div class="fnt05" id="uProd<?=$dadoPd->idProduto?>"></div>

</li>

</ul>

</div>

<? } } else { ?>

<div class="nenhum"><img src="_imgx/warning.png" class="img">  Nenhum produto cadastrado.</div>

<? } ?>

</div>

<b class="b4"></b><b class="b3"></b><b class="b2"></b><b class="b1e"></b>

</div>

</div>

<!-- <? require_once("_pagx/sidebar.php"); ?> -->

<div id="l01" style="clear:both;"></div>

&lt;script type="text/javascript" src="_jvsx/clockHome.js"></script>

<!-- <? mysql_free_result($selectPd); ?> -->

quem puder me da uma ajuda eu ficaria muito agradecido.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

O segredo pra isso é alterar as queries para um LIMIT com dois parâmetros.

Sendo assim, você pode capturar o parâmetro $_GET['p']. Se desejar exibir 15 itens na página, então o valor mínimo na cláusula LIMIT seria:

min: (page - 1) * 15

max: min + 15

[]'s

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia Fvox, cara eu tenho um limit de resultados na pag é de 6 por pag, mas o que eu quero mesmo e colocar uma paginação tipo 1234 Proximo eu andei dando uma olhada na net e vi um tal de paginator, mas eu não estou conseguindo adaptar ele no codigo é q eu sou novato em php e você sabe como é né, nos novatos nunca conseguimos fazer nada....

kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk

Cara eu gostaria de saber se você conhece algum tudo ou você mesmo poderia me dar uma mão nisso.....?

Link para o comentário
Compartilhar em outros sites

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
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...