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