Salve, come mai mi dice sempre
invece i dati ci sono?.
questa è la paginazione che usavo in mysqli e funziona molto bene ora la sto portando in pdo.
ma non so come mai mi dice sempre non trovato record.
e questo e il file da lanciare:
PHP:
echo "Nessun dato Trovato!";
questa è la paginazione che usavo in mysqli e funziona molto bene ora la sto portando in pdo.
ma non so come mai mi dice sempre non trovato record.
PHP:
<?php
class Paginazione
{
private $xpage = 0;
private $tot = 0;
private $totpag = 0;
private $cpage = 0;
private $query = "";
private $record = array();
public function Paginazione($query, $xpage, $varq)
{
global $db;
// le rendo globali
$this->xpage = $xpage;
$this->varq = $varq;
$this->query = trim($query);
// pagina corrente sia get che post
$this->cpage = (int)($varq)>0 ? (int)$varq : 1;
// inizio record
$inizio = $xpage * ($this->cpage - 1);
// eseguo la query per contare i record
$ct = $db->query($this->query) or die($db->error);
$rows = $ct->fetchAll();
$total_records = count($rows);
// record totali
$this->tot = $total_records = $ct->rowCount();
// se ci sono record // DEVE ESSERE QUI IL PROBLEMA.. perché non so come fare.
if($this->tot > 0)
{
// pagine totali
$this->totpag = ceil($this->tot / $xpage);
// scrivo ed eseguo la query mirata
$target = " LIMIT " . $inizio . ", " . $xpage;
$ex = $db->query($this->query . $target) or die($db->error);
while($ft = $ex->fetch())
{
$record[] = $ft;
}
if(empty($record))
{
}
else
{
$this->record = $record;
}
}
else
{
$this->record = array();
}
}
public function Show()
{
if(count($this->record) > 0)
{
return $this->record;
}
else
{
return false;
}
}
public function Link($nlink = 4)
{
$before = array();
$after = array();
if($this->cpage < $nlink)
{
$nlink *= 2;
$nlink -= ($this->cpage - 1);
}
elseif($this->cpage > ($this->totpag - $nlink))
{
$nlink *= 2;
$nlink -= ($this->totpag - $this->cpage);
}
for($i = $nlink; $i>=1; $i--)
{
if(($this->cpage - $i) >= 1)
{
$before[] = $this->cpage - $i;
}
}
for($i = 1; $i<=$nlink; $i++)
{
if(($this->cpage + $i) <= $this->totpag)
{
$after[] = $this->cpage + $i;
}
if($this->cpage == $nlink)
$nlink += 1;
}
$link["first"] = 1;
$link["before"] = $before;
$link["current"] = $this->cpage;
$link["after"] = $after;
$link["last"] = $this->totpag;
if($this->cpage <= $this->totpag && $this->totpag > 1)
{
return $link;
}
else
{
return false;
}
}
}
?>
e questo e il file da lanciare:
PHP:
<?php defined('ENGINE_BLOG') or die("Pagina non accessibile direttamente"); ?>
<?php
include("blog_include.php");
?>
<p class="ph1">Blog</p>
<br /> <br />
<div align="center">
<?php
try {
$blog_categories = $db->prepare('SELECT * FROM blog_categories ORDER BY is_order ASC');
$blog_categories->execute();
} catch (Exception $e) {
die ($e);
}
?><span style="color:red;">[ <a href="blog.php">Vedi Tutto</a> ]</span>
<?php
while($row = $blog_categories->fetch())
//foreach($rowarray as $row)
{
?>
[ <a href="blog.php?cat=<?php echo $row["id"]; ?>"><?php echo $row["categories"]; ?></a> ]
<?php
}
?>
</div>
<br>
<?php
$cat = (isset($_GET['cat'])) ? trim((int)$_GET['cat']) : '';
$pagina = (isset($_GET["pagina"])) ? trim ((int)$_GET["pagina"]): '';
$pag = new Paginazione("SELECT blog_categories.categories as _cat , blog.* FROM blog
INNER JOIN blog_categories
ON blog_categories.id = blog.id_categories WHERE blog.is_public=1 ORDER BY data_reg DESC",1, $pagina);
if($record = $pag->Show())
{
foreach($record as $row)
{
?><div class="post">
<h2><?php echo $row["subject"]; ?></h2>
<div class="contents">
<?php echo bbcode_more(bbcode($row['content']), $row['id']); ?>
</div>
<ul class="info">
<li><strong>Data:</strong> <?php echo data_it($row['data_reg']) ?> </li>
<li><strong>Categoria:</strong> <?php echo $row["_cat"]; ?> </li>
</ul>
</div>
<?php
}
}
else
{
echo "Nessun dato Trovato!";
}
// restituisce i link alle pagine
if($link = $pag->Link(3))
{
?>
<a href="?uid=<?php echo $uid; ?>&cat=<?php echo $cat; ?>&pagina=<?php echo $link['first']; ?>">«</a> <?php
foreach($link['before'] as $bf)
{
?><a href="?uid=<?php echo $uid; ?>&cat=<?php echo $cat; ?>&pagina=<?php echo $bf;?>"><?php echo $bf;?></a> <?php
}
?><?php echo $link['current'];?> <?php
foreach($link['after'] as $at)
{
?><a href="?uid=<?php echo $uid; ?>&cat=<?php echo $cat; ?>&pagina=<?php echo $at;?>"><?php echo $at;?></a> <?php
}
?><a href="?uid=<?php echo $uid; ?>&cat=<?php echo $cat; ?>&pagina=<?php echo $link['last'];?>">»</a>
<?php
}
$db = NULL;
?>