Problema al mostrar datos en un combo php

Estado
No está abierto para más respuestas.

Paulita

Piedra
Usuario de Piedra
Mensajes
46
Puntuación de reacción
0
Buenas tardes! Estoy tratando de llenar un combo con los nombres de unas categoría que tengo en la base de datos pero no lo logro hacerlo, creo que en la función tengo algo malo que por eso no lo mostrando, este es el código que utilizó:
Código:
<?php

	require_once('conexion.php');

	Class Categoria{

		private $idCategoriaArea;
		private $nombreCategoria;

		public function __construct($idCategoriaArea=null,$nombreCategoria=null)
		{
			$this->idCategoriaArea=$idCategoriaArea;
			$this->nombreCategoria=$nombreCategoria;
		}

		public function getIdCategoria(){
			return $this->idCategoriaArea;
		}
		public function getNombCategoria(){
			return $this->nombreCategoria;
		}
		public function setIdCategoria($idCategoriaArea){
			$this->idCategoriaArea=$idCategoriaArea;
		}
		public function setNombCategoria($nombreCategoria){
			$this->nombreCategoria=$nombreCategoria;
		}
//esta es la función que estoy utilizando para llenar el combo
public function ObtenerTodasCategoria(){
	$link=new Conexion();
	$conexion=$link->conectar();
	$categoria=array();
	$consulta=$conexion->prepare('SELECT idCategoriaArea, nombreCategoria FROM categoriaarea ORDER BY idCategoriaArea desc');
	$consulta->execute();
	$resultado = $consulta->get_result();
	while($fila=$resultado->fetch_assoc())
	{
		$cat=$this->__construct($fila['idCategoriaArea'],$fila['nombreCategoria']); //creo que esto esta malo
		array_push($categoria, $cat);
	}
	$conexion->close();
	return $categoria;	
		}
	}
?>

y en el html el código que tengo es este: prueba.html
Código:
<div>
			<select >
				<option value="0">Seleccione un Opción</option>
				<?php
					require_once('categoria.class.php');
					$obj=new Categoria();
					$categoria=$obj->ObtenerTodasCategoria();
					foreach ($categoria as $categ){
						echo '<option value="'.$categ->getIdCategoria.'">'.utf8_decode($categ->getNombCategoria).'</option>';
					}
				?>

			</select>
		</div>
Me sale estos errores:
<b>Notice</b>: Trying to get property of non-object in <b>C:\xampp\htdocs\ include\prueba.php</b> on line <b>16</b><br />
<br />
<b>Notice</b>: Trying to get property of non-object in <b> C:\xampp\htdocs\ include\prueba.php</b> on line <b>16</b><br />
<option value=""></option><br />
<b>Notice</b>: Trying to get property of non-object in <b> C:\xampp\htdocs\ include\prueba.php</b> on line <b>16</b><br />
<br />

A que se debe? Que tengo malo en el código? porque en el combo no funciona:(
 

Paulita

Piedra
Usuario de Piedra
Mensajes
46
Puntuación de reacción
0
Hola gracias por responderme, tiene razón, a la final cambien el construct por crear una instancia de la clase.

Saludos
 
Estado
No está abierto para más respuestas.
Arriba