Ahora el drama es ingeniarse alguna forma para que en "template.php" en vez de mostrar los div: "right" y "left" directamente dependan de una condición. La intención es que si la fila de la columna "arrayUrl_column" está vacía no muestre (se oculte) el div "left" y por el contrario si este tiene texto muestre al div "right" y "left".
¿Habrá alguna forma de darle lógica a esto?
Una idea así se me ocurre:
if (['arrayUrl_column'] = ['']){
echo '<div id="right">'.$content['right'].'</div>';
}
else {
echo '<div id="left">'.$content['left'].'</div>';
echo '<div id="right">'.$content['right'].'</div>';
}
<?php
if(['arrayUrl_column'] = ['']){?>
<div id="left"><?php echo $content['left']; ?></div>
<?php }else{ ?>
<div id="right"><?php echo $content['right']; ?></div>
<?php } ?>
Imagen de la tabla de la BD:

Helper.php:
Código:
index.php:class Helper { //Propiedades private static $host = 'localhost'; private static $user = 'root'; private static $pass = ''; private static $dbname = 'pruebaarray'; private static $dbh; private static $error; private static $router; public static function construct(){ // Set DSN -- Donde se conecta $dsn = 'mysql:host=' . self::$host . ';dbname=' . self::$dbname; // Set options $options = array( PDO::ATTR_PERSISTENT => true, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ); // Create a new PDO instance, crear el objeto de acceso a base de datos try{ self::$dbh = new PDO($dsn, self::$user, self::$pass, $options); //funcion para crear el menu desde la base de datos self::setRouter(); } // Catch any errors catch(PDOException $e){ self::$error = $e->getMessage(); } } public static function setRouter() {//Le cargo a 'router' los valores de inicialización $array = array(); $stmt = self::$dbh->prepare('SELECT * FROM arrayurl');//stmt = statement = Sentencia, consulta $stmt->execute(); // Luego recorres el juego de resultados: while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $array[$row['arrayUrl_name']] = array('column' => $row['arrayUrl_column'],'content' => $row['arrayUrl_content']); } self::$router = $array; } public static function getColumn($file = null ) { self::construct(); if (array_key_exists($file, self::$router) && isset(self::$router[$file]['column'])) { ob_start(); if(is_file(self::$router[$file]['column'])) require_once(self::$router[$file]['column']); return ob_get_clean(); } } public static function getContent($file = null) { self::construct(); if (array_key_exists($file, self::$router) && is_file(self::$router[$file]['content'])) { ob_start(); require_once(self::$router[$file]['content']); return ob_get_clean(); } } }
Código:
template.php:defined("DS") || define("DS", DIRECTORY_SEPARATOR); defined("ROOT_PATH") || define("ROOT_PATH", realpath(dirname(__FILE__))); require_once(ROOT_PATH.DS.'classes'.DS.'Helper.php'); $page = '/'; $uri = $_SERVER['REQUEST_URI']; if (!empty($uri) && $uri != '/') { $uri = explode('?', $uri); $page = $uri[0]; } $content = array( 'right' => Helper::getContent($page), 'left' => Helper::getColumn($page) ); if (!empty($_GET['ajax'])) { echo json_encode($content); } else { require_once('template/template.php'); }
Código:
mikehove.-... ... <div id="container"> <div id="left"> <?php echo $content['left']; ?> </div> <div id="right"> <?php echo $content['right']; ?> </div> </div> ... ...
