Nueva pregunta

Pregunta:

Fecha: 05-02-2017 18:44:01 (En Español)

Ejercicio me queda en blanco al verlo en el explorador[Resuelta]

Me estoy orientando con esta pagina: https://www.youtube.com/watch?v=9h8LThKSmeI&list=PLpOqH6AE0tNh2Hu2KWoXxTbhHzRgCaHxH&index=14

Tengo un problema, la página me sale en blanco, no encuentro el error, hago la puebra con un archivo echo y me funciona pero desde la base de datos no me sale todo en blanco.

index.php
<?php 
	require_once "Config/Autoload.php";
	Config\Autoload::run();
	$est = new Models\Estudiante();
	//$est->hola();
	//
	$est->set("id",1);
	$datos = $est->view();
	print $datos['nombre'];


?>


Conexion.php
<?php 
namespace Models; 
//es el unico que tiene conexion a la base de datos
class Conexion{
	private $datos = array(
		"host" => "localhost",
		"user" => "root",
		"pass" => "",
		"db" => "proyecto"
		);
	private $con;
	// colocar antes de mysqli  \  por ser una clase global porque estamos usando namespace
	public function __construct(){
		$this->con = new \mysqli($this->datos['host'],$this->datos['user'],$this->datos['pass'],$this->datos['db']);
	}
	public function consultaSimple($sql){
		$this->con->query($sql);
	}
	public function consultaRetorno($sql){
		$datos = $this->con->query($sql);
		return $datos;
	}
}
?>



Seccion.php
<?php 

	namespace Models;

	class Seccion{
		private $id;
		private $nombre;
		private $con;

		public function __construct(){
			$this->con = new Conexion();
		}
		public function set($atributo, $contenido){
			$this->$atributo = $contenido;
		}
		public function get($atributo){
			return $this->$atributo ;
		}
		public function listar(){
			$sql ="SELECT * FROM secciones";
			$datos = $this->con->consultaRetorno($sql);
			return $datos;
		}
		public function add(){
			$sql = "INSERT INTO secciones (id, nombre) VALUES (null,'{$this->nombre}')";
			$this->con->consultaSimple($sql);
		}	
		public function delete(){
			$sql = "DELETE FROM secciones WHERE id = '{$this->id}'";
			$this->con->consultaRetorno($sql);
		}
		public function edit(){
			$sql = "UPDATE FROM secciones SET nombre = '{$this->nombre}' WHERE id ='{$this->id}'";
			$this->con->consultaSimple($sql);
		}
		public function view(){
			$sql = "SELECT * FROM secciones WHERE id = '{$this->id}'";
			$datos = $this->con->consultaRetorno($datos);
			$row = mysqli_fetch_assoc($datos);
			return $row;
	}
}
 ?>



Autoload.php
<?php namespace Config;
class Autoload {
    public static function run() {
        spl_autoload_register(function($class) {
        $ruta = str_replace("\\", "/", $class) . ".php";
        include_once $ruta;
        });
    }
}
?>



Estudiante.php
<?php 
namespace Models;

	class Estudiante{
		private $id;
		private $nombre;
		private $edad;
		private $promedio;
		private $imagen;
		private $id_seccion;
		private $fecha;
		//uno que tenga la conexion
		private $con;

		public function __construct(){
			$this->con = new Conexion();
		}
		public function set($atributo, $contenido){
			$this->atributo = $contenido;
		}
		public function get ($atributo){
			return $this->$atributo;
		}
		//public function hola(){
		//	echo "hola como estas";
		//}
		
		public function listar(){
			$sql = "SELECT t1.*, t2.nombre as nombre_seccion FROM estudiantes t1 INNER JOIN secciones t2 ON t1.id_seccion=t2.id";
			$datos = $this->con->consultaRetorno($sql);
			return $datos;
		}
		public function add(){
			$sql ="INSERT INTO estudiantes(id, nombre, edad, promedio, imagen, id_seccion, fecha )
				   VALUES(null, '{$this->nombre}','{$this->edad}','{$this->promedio}','{$this->imagen}','{$this->id_seccion}',NOW())";
			$this->con->consultaSimple($sql);	   	
		}
		public function delete(){
			$sql = "DELETE FROM estudiantes WHERE id= '{$this->id}'";
			$this->con->consultaSimple($sql);
		}

		public function edit(){
			$sql = "UPDATE FROM estudiantes SET nombre = '{$this->nombre}',edad ='{$this->edad}', promedio ='{$this->promedio}',id_seccion = '{$this->id_seccion}'";
			$this->con->consultaSimple($sql);
		}	
		public function view() {
			$sql ="SELECT t1.*,t2.nombre as nombre_seccion 
			FROM estudiantes t1 INNER JOIN secciones t2
			ON t1.id_seccion = t2.id WHERE t1.id = '{$this->id}'";
		    $dato = $this->con->consultaRetorno($sql);
		    $row = mysqli_fetch_assoc($dato);
		    return $row;
		}
}
?>



BASE DE DATOS DEL PROYECTO


Estructura de tabla para la tabla estudiantes

Columna Tipo Nulo Predeterminado
id int(11) No
nombre varchar(200) No
edad int(11) No
promedio double No
imagen varchar(200) No
id_seccion int(11) No
fecha datetime No
Volcado de datos para la tabla estudiantes
1 pedro salas 20 15 0 2017-02-28 00:00:00
2 lina ramirez 43 40 no tiene 3 2017-02-14 00:00:00
Estructura de tabla para la tabla secciones
Columna Tipo Nulo Predeterminado
id int(11) No
nombre varchar(80) No
Volcado de datos para la tabla secciones
Etiquetas: Empezar a programar - PHP - Pregunta Votos: 0 - Respuestas: 4 - Vistas: 15 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 06-02-2017 18:01:51 Hola Carlos,
    Por favor utiliza el BBCode adecuado para el código PHP.

    Respecto a tu pregunta no queda claro tu problema. Si no has terminado todo el tutorial lamento decirte que no vas a poder ver nada.

    Aunque el tutorial es muy básico, y lleno de malas prácticas, si lo seguiste todo debes tener un código funcional.

    Para poderte ayudar más necesitaríamos más información: algún error? Qué dicen tus logs?

    Saludos
      Votos: 3 - Link respuesta
     
  • Fecha: 07-02-2017 11:05:36 Estoy de acuerdo en todo lo comentado por Ernesto
    Utiliza el BBCODE para el codigo de PHP para que sea mas legible y entendible, asi como esta presentado creo que nadie se tomara la molestia de leerlo y tomarlo con seriedad.
    Al video de youtube tambien hay un BBCODE para insertarlo.
    Realiza los cambios en el post por favor.
    Por otro lado sobre el tutorial y tus conocimientos para desarrollarlo estoy de acuerdo con lo mencionado con Ernesto
    Debes presentar mayor información sobre el error.
    Espero que lo tomes a bien y hagas las correcciones necesarias.
    Saludos
      Votos: 2 - Link respuesta
     
  • Fecha: 07-02-2017 18:31:36 muchas gracias a ernesto y walter por esa orientación voy a leer sobre el BBCODE y seguir sus indicaciones cerrare esta pregunta mientras estudio mejor el tema como me indican en caso de necesitar apoyo lo reabriré nuevamente muchas gracias   Votos: 0 - Link respuesta
     
  • Fecha: 11-02-2017 01:07:41 Hola Carlos, solo respondo para saber si ya terminastes el proyecto y si te salio bien?

    Espero tu respuesta, Saludos.
      Votos: 1 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com