Nuevamente gracias, he solucionado lo del bucle. Y por último, pregunto sobre otro fallo:
Código PHP:
Ver original<?php
require("../cgi-bin/conn.inc.php");
class paginasModelo
{
public $paginas;
public $nameTable;
public function queryTable($qTable)
{
$this -> nameTable = $qTable;
//return $this -> nameTable;
}
public function consultaPaginas($db)
{
try{
$db -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$consulta = $db -> prepare(" SELECT id_pagina,titulo,orden FROM ". $this -> queryTable()."" );
$consulta -> execute();
$this -> paginas = $consulta -> fetchAll();
//return $this -> paginas;
} catch(PDOException $e) {
echo "Error: ".$e -> getMessage();
}
}
}
$pag = new PaginasModelo();
$pag -> consultaPaginas( $con -> db );
$pag -> queryTable("paginas");
foreach($pag -> paginas as $pagi){
echo $id_pagina.$titulo.$orden;
}
?>
En pantalla me salta el mensaje de error:
Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Pero no entiendo porqué. La sintaxis creo que es correcta y está bien concatenado.
El problema está en la línea 22 que creo el SELECT y escribo $this -> queryTable()