Buenas, desde hace dias he estado trabajando con PDO, la nueva interfaz mysql orientado.
cuando llega la hora de conectarme a la base de datos usando dicha interfaz todo me conecta correctamente:
## MYSQL CONNECTION
try {
# DBNAME & DBHOST
$dsn = 'mysql:dbname=one_dance;host=localhost';
$pdo = new PDO($dsn,'root','1693');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e)
{
echo $e->getessage();
}
pero he creado una clase en la cual me haga una consulta a la bases de datos usando la conecxion:
class OpinionRotator
{
public $name, $message;
public static function readOpinion()
{
$query = $pdo->Query("SELECT * FROM guestbook ORDER BY id DESC");
$query->setFetchMode(PDO::FETCH_CLASS, 'OpinionRotator');
while ($fetch = $query->fetch(PDO::FETCH_OBJ))
{
echo '<div class="cbp-qtcontent">
<!-- <img src="images/1.jpg" alt="img01" /> -->
<blockquote>
<p>{$fetch->message}</p><!-- <div>”</div> -->
<footer>{$fetch->name}</footer>
</blockquote>
</div>';
}
}
}
new OpinionRotator;
OpinionRotator::readOpinion();
Lo que succede realmente es que no puedo acceder a la conecxion PDO = $pdo cuando estoy trabajando con clases, y hasta ahora no he encontrado como hacerlo, he intentado convertir la conecxion PDO en una clase pero no he tenido éxito.
Lo que ando realmente buscando es simplificar el código y que sea mas facil la edicion, en vez de colocarlo de esta forma:
<?php
$query = $pdo->Query("SELECT * FROM guestbook ORDER BY id DESC");
while ($fetch = $query->fetch(PDO::FETCH_OBJ)):
?>
<div class="cbp-qtcontent">
<!-- <img src="images/1.jpg" alt="img01" /> -->
<blockquote>
<p><?=textLimit($fetch->message);?></p><!-- <div>”</div> -->
<footer><?=$fetch->name?></footer>
</blockquote>
</div>
<?php endwhile;?>
Seria imprimirlo de esta manera:
OpinionRotator::readOpinion();Estoy realmente desesperado por que no he podido avanzar con mi proyecto, necesito ayuda urgentemente, se les agradece.