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:
Al ejecutarlo me tira un error, es el que muestro a continuacion<?php session_start(); include_once("../Includes/Dia.php"); include_once("../Includes/PlanAlimentario.php"); include_once("../Includes/PlanDiagnosticado.php"); define("salto","<br/>"); ?>
Código:
Osea me esta diciendo que en el archivo "PlanDiagnosticado.php" (que es uno de los que incluyo en Fatal error: Class 'sQuery' not found in C:\xampp\htdocs\xampp\www\TF\Includes\PlanDiagnosticado.php on line 25
"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:
luego en "db.php" tengo definidas dos clases, entre ellas sQuery<?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; } } ?>
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:
y me tira el mismo errornew_query1=new Conexion()
Código:
Yo creo que esta bien escrito el include_once("db.php"); SUPONIENDO QUE ESCRIBI MAL ESA LINEAFatal error: Class 'Conexion' not found in C:\xampp\htdocs\xampp\www\TF\Includes\PlanDiagnosticado.php on line 24
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