Jump to content
Fórum Script Brasil
  • 0

Paginação


Grandhalf

Question

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 to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...