Foros del Web » Programando para Internet » PHP »

Problema con condición if y else

Estas en el tema de Problema con condición if y else en el foro de PHP en Foros del Web. Muchas gracias Triby y Gator, a varios tutoriales, profes y demás porque encontré el éxito. Ahora el drama es ingeniarse alguna forma para que en ...
  #1 (permalink)  
Antiguo 27/06/2013, 14:11
 
Fecha de Ingreso: abril-2012
Ubicación: Argentina
Mensajes: 215
Antigüedad: 12 años
Puntos: 2
Problema con condición if y else

Muchas gracias Triby y Gator, a varios tutoriales, profes y demás porque encontré el éxito.

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:
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();
    }
}
	   	   
}
index.php:

Código:
	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');
	}
template.php:

Código:
...
...
		<div id="container">
		
			<div id="left">
				<?php echo $content['left']; ?>
			</div>
			
			<div id="right">			
				<?php echo $content['right']; ?>
			</div>
		
		</div>

...
...
mikehove.-

Última edición por mikehove; 27/06/2013 a las 15:08
  #2 (permalink)  
Antiguo 27/06/2013, 17:12
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problema con condición if y else

Necesitas sólo un if, sin else:

Código PHP:
Ver original
  1. if($content['left'] != '') {
  2.     // Ok, aquí muestras la columna izquierda
  3. }
  4. // Siempre aparecerá la derecha, según creo
  5. // Entonces la muestras aquí
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 27/06/2013, 19:47
 
Fecha de Ingreso: abril-2012
Ubicación: Argentina
Mensajes: 215
Antigüedad: 12 años
Puntos: 2
Respuesta: Problema con condición if y else

Triby gracias por responder, tu código funciona!!. Muchas gracias por la ayuda amigo!!

Aquí le agregué el echo con las etiquetas de inicio y final de php.

Quedó así:
Código:
            
            <?php if($content['left'] != '') {?>
            <div id="left">
		 <?php echo $content['left']; ?>
            </div>
            <?php }?>		
			
	    <div id="right">			
	         <?php echo $content['right']; ?>
	    </div>





mikehove.- "Mejor es enfrentarse con los desafíos"

Última edición por mikehove; 27/06/2013 a las 20:01

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:29.