Autor Tema: Usar PDO como clase ayuda!  (Leído 1322 veces)

Desconectado Rastrillox

  • PHPero Experto
  • *****
  • Mensajes: 592
  • Karma: 25
  • Sexo: Masculino
    • Ver Perfil
    • Forhabbo.es
Usar PDO como clase ayuda!
« en: 23 de Diciembre de 2014, 07:06:38 am »
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_ERRMODEPDO::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.

Comunidad PHPeros

Usar PDO como clase ayuda!
« en: 23 de Diciembre de 2014, 07:06:38 am »