mi pare normale...ogni volta che richiami $pagina->fetch_both() rifai la query.
O fai così:
Oppure ti salvi il risultato della query in un campo della classe e fai una funzione per il fetchCodice PHP:<?php
function fetch_both($result)
{
try
{
$db = $this->query($result);
$result = $db->fetchAll(PDO::FETCH_BOTH);
}
catch(PDOException $e)
{ echo 'Attenzione funzione fetch_both: '.$e->getMessage(); }
return $result;
}
...
// nella pagina
$pagina= new pagine();
$pagine = $pagina->pagina('index');
$records = $pagina->fetch_both();
foreach($records as $dettagli_pagina)
{echo $dettagli_pagina['nome'].' '.$dettagli_pagina['testo'];
}?>
Codice PHP:<?php
function fetch_both($result)
{
try
{
return $this->results->fetch(PDO::FETCH_BOTH);
}
catch(PDOException $e)
{ echo 'Attenzione funzione fetch_both: '.$e->getMessage(); }
}
function query($sql)
{
$db = $this->connect();
$db->beginTransaction(); /*disabilitazione dell'auto-commit*/
$query = $db->prepare($sql);
$query->execute();
$this->results = $db->commit(); /* applica le modifiche*/
}
...
$pagina= new pagine();
$pagine = $pagina->pagina('index');
$pagina->query(...);
while ($dettagli_pagina = $pagina->fetch_both($pagine))
{echo $dettagli_pagina['nome'].' '.$dettagli_pagina['testo'];
}?>

Rispondi quotando