Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/06/2011, 14:04
juanca87
 
Fecha de Ingreso: junio-2011
Mensajes: 5
Antigüedad: 13 años, 6 meses
Puntos: 0
No me reconoce la Clase

Hola este es mi segunda consulta en este foro:

Estoy trabajando con POO en php

Tengo dos clases, declaradas en una misma carpeta, se llaman:
- PlanAlimentario.php
- db.php

Desde un tercer archivo "ver_plan.php", hago el llamado con include_once

Código:
<?php
  session_start(); 
  include_once("../Includes/Dia.php");
  include_once("../Includes/PlanAlimentario.php");
  include_once("../Includes/PlanDiagnosticado.php");
  define("salto","<br/>");          
?>
Al ejecutarlo me tira un error, es el que muestro a continuacion

Código:
Fatal error: Class 'sQuery' not found in C:\xampp\htdocs\xampp\www\TF\Includes\PlanDiagnosticado.php on line 25
Osea me esta diciendo que en el archivo "PlanDiagnosticado.php" (que es uno de los que incluyo en
"ver_plan.php" ) no esta encontrando la clase sQuery(). Bien mustro el codigo de "PlanDiagnosticado.php"

Contenido de PlanDiagnosticado.php (solo muestro una parte)

Código:
<?php

include_once ("db.php");

 
class PlanDiagnosticado {
    private $fechaDesde;
    private $fechaHasta;
    private $nroPlan;
    private $nombreUsuario;

    function PlanDiagnosticado($nombreUsuario=0) {
                                                   
		   if ($nombreUsuario!=''){                                                                                                      

		     	$obj_query=new sQuery(); <-- esta es la linea 25
		     	$query= "select * from planasignado where usuariopaciente = '$nombreUsuario' and fechafin='9999-12-31';";
		   //  	echo $query;
		     	$result=$obj_query->executeQuery($query); // ejecuta la consulta para traer al cliente
		     	$row=mysql_fetch_array($result);
		     	$this->fechaDesde   =$row['fechainicioplan'];
		     	$this->fechaHasta   =$row['fechafin'];
		     	$this->nroPlan      =$row['nroplan'];
		     	$this->nombreUsuario=$row['usuariopaciente'];  
		     	echo $this->nroPlan;
	      }                   
       }
?>
luego en "db.php" tengo definidas dos clases, entre ellas sQuery

Código:
<?php
class Conexion { // se declara una clase para hacer la conexion con la base de datos

	private $con;

        function Conexion()

	{
               
		// se definen los datos del servidor de base de datos
		$conection['server']="localhost";  //host
		$conection['user']="root";         //  usuario
		$conection['pass']="";		//password
		$conection['base']="sistemanutricion";			//base de datos


		// crea la conexion pasandole el servidor , usuario y clave
		$conect= mysql_pconnect($conection['server'],$conection['user'],$conection['pass']);



		if ($conect) // si la conexion fue exitosa , selecciona la base
		{
			mysql_select_db($conection['base']);
			$this->con=$conect;
		}
	}
	function getConexion() // devuelve la conexion
	{
		return $this->con;
	}
	function Close()  // cierra la conexion
	{
		mysql_close($this->con);
	}
}

class sQuery   // se declara una clase para poder ejecutar las consultas, esta clase llama a la clase anterior
{

	var $pconeccion;
	var $pconsulta;
	var $resultados;
	
	function sQuery()  // constructor, solo crea una conexion usando la clase "Conexion"
	{
		$this->pconeccion= new Conexion();
	}
	function executeQuery($cons)  // metodo que ejecuta una consulta y la guarda en el atributo $pconsulta
	{
		$this->pconsulta= mysql_query($cons,$this->pconeccion->getConexion());
		return $this->pconsulta;
	}
	function getResults()   // retorna la consulta en forma de result.
	{return $this->pconsulta;}

	function Close()		// cierra la conexion
	{$this->pconeccion->Close();}

	function Clean() // libera la consulta
	{mysql_free_result($this->pconsulta);}

	function getResultados() // debuelve la cantidad de registros encontrados
	{return mysql_affected_rows($this->pconeccion->getConexion()) ;}

	function getAffect() // devuelve las cantidad de filas afectadas
	{return mysql_affected_rows($this->pconeccion->getConexion()) ;}
}

?>

Asi que bueno repito, me tira el error de que: segun entiendo yo "desde el archivo PlanAlimentario.php al querer crear una instancia de sQuery no esta pudiendo encontrar dicha clase"

Es mas! lo que probe es hacer lo siguiente, ya que en db.php tengo definidas las clases
- Conexion
- sQuery

probe hacer antes de la linea 25, crear una instancia de conexion

Código:
new_query1=new Conexion()
y me tira el mismo error

Código:
Fatal error: Class 'Conexion' not found in C:\xampp\htdocs\xampp\www\TF\Includes\PlanDiagnosticado.php on line 24
Yo creo que esta bien escrito el include_once("db.php"); SUPONIENDO QUE ESCRIBI MAL ESA LINEA

Estos archivos, PlanDiagnosticado y db.php estan EN UNA MISMA CARPETA.

se ve que no esta encontrando el archivo o algo asi, sin embargo tampoco me tira un error o un warning como que no encuentra el archivo "db.php".

En Fin, espero puedan ayudarme y gracias de antemano