Foros del Web » Programando para Internet » PHP »

php y Postgres

Estas en el tema de php y Postgres en el foro de PHP en Foros del Web. hola tengo el siguiente problema no se por que falla lo miro y la verdad me desconcertó alguien me da una mano por favor tengo ...
  #1 (permalink)  
Antiguo 04/03/2011, 18:53
 
Fecha de Ingreso: octubre-2007
Mensajes: 12
Antigüedad: 16 años, 6 meses
Puntos: 1
php y Postgres

hola tengo el siguiente problema no se por que falla lo miro y la verdad me desconcertó alguien me da una mano por favor

tengo esta siguiente clase

<?php
//require_once"../../mios/MyConexionPSQL.php";
require_once"../Conexion/MyConexionPSQL.php";

class Departamentos{

protected $id_depto;
protected $departamento;
protected $provincia_id;
protected $con;

function __construct(){

$this->con = new Conexion();
}

function listarDepartamentos(){

$sql = "select * from tb_departamentos";
$datos = $this->con->runSQL($sql);
return $datos;



}

//
function __destruct(){

}




}


$dpto = new Departamentos();
$result = $dpto->listarDepartamentos();
for($i=0;$i<count($result);$i++){

echo $result[$i]->id.','.$result[$i]->departamento;


}

?>

esta clase anda de 10 cuando desde el mismo archivo, pero cuando lo llamo desde otro por ejemplo
vistadepto.php

que seria este de aqui abajo:

<?php
require_once"../../MODELOS/personas/departamentosModelo.php";
?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html" />
<title>vista</title>
</head>
<body>
<form method="POST" name='formulario' id='formulario' >

<table width='100%' cellspacing="1" cellpadding="1">
<tr>
<td class='visor'><img src='/hospitalmvc/vistas/css/img/asterisco.gif' width='14px' height='14px'>&nbsp; Datos de Barrio </td>
</tr>
<tr>

</tr>
<tr>
<td>
<div id="datos">
<table width='100%' valign='middle'>
<tr>
<td width='10%'><label>Barrio:</label></td>
<td width='45%'><input type='text' id='barrio' name='barrio' size='25'/></td>
<td width='45%'>Departamento :
<label for="DEPARTAMENTOS"></label>

<?php
$dpto = new Departamentos();
$result = $dpto->listarDepartamentos();
?>
<select name='departamento_id' id="departamento_id">
<?php
for($i=0;$i<count($result);$i++){
?>
<option value="<?php echo $result[$i]->id ?>"><?php echo $result[$i]->departamento ?></option>
<?php
}
?>
</select>
</select> </td>
</tr>
<tr>
<td></td>
<td colspan="2">
<label for="select">

<input type="button" name="Submit" value="Guardar" />
</label> </td>
</tr>
</table>
</div>
</td>
</tr>
</table>

</form>

</body>
</html>

de aqui no me funciona me sale el siguiente error : "
Warning: require_once(../Conexion/MyConexionPSQL.php) [function.require-once]: failed to open stream: No such file or directory in C:\wamp\www\prueba\MODELOS\personas\departamentosM odelo.php on line 3

Fatal error: require_once() [function.require]: Failed opening required '../Conexion/MyConexionPSQL.php' (include_path='.;C:\php5\pear') in C:\wamp\www\prueba\MODELOS\personas\departamentosM odelo.php on line 3

"
me urge saber por que es la falla.

mi archivo de conexion es este


MyConexionPSQL.php

<?php
class Conexion {
private $host;

private $user;

private $pass;

private $dbname;

public $id_conexion;

function __construct()
{
//$this->host = '192.168.50.3';
$this->host = 'localhost';
$this->user = 'postgres'; //$user;
$this->pass = 'postgres';//$pass;
$this->dbname = 'MYDB';
$this->IConexion();

}


function IConexion(){
$this->id_conexion = pg_connect("host={$this->host} port='5432' dbname={$this->dbname} user={$this->user} password={$this->pass}") ;

if (!$this->id_conexion){
$msj = utf8_decode("<script languaje=javascript> alert('No se Puede Conectar ala base de Datos');</script>");
print($msj);

exit;

}

}



public function runSQL($sql)
{
try{
$array = NULL;
$res = pg_query($this->id_conexion,$sql);
//echo $sql;
if(!$res){
throw new Exception ("Error SQL : ".pg_last_error($this->id_conexion));
}
while ($dato = pg_fetch_object($res)){
$array[]=$dato;

}
pg_free_result($res);
return $array;
}
catch (Exception $e) {
echo $e->getMessage();
}
}






public function SQL($sql){

try{
$res = pg_query($this->id_conexion,$sql);

if(!$res){
throw new Exception ("Error SQL".pg_last_error($this->id_conexion));
}

return true; // $res;
}
catch (Exception $e){
echo $e->getMessage();
}

}




public function Get_IdConexion()
{
return $this->id_conexion;
}

public function cerrarConexion()
{
pg_close($this->id_conexion);
}


function __destruct()
{
//$this->cerrarConexion($this->pgdb);
}

}


?>
  #2 (permalink)  
Antiguo 05/03/2011, 00:31
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: php y Postgres

¿tienes problemas de vista, o de "visión"?:

Warning: require_once(../Conexion/MyConexionPSQL.php) [function.require-once]: failed to open stream: No such file or directory in C:\wamp\www\prueba\MODELOS\personas\departamentosM odelo.php on line 3
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 05/03/2011, 20:48
 
Fecha de Ingreso: octubre-2007
Mensajes: 12
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: php y Postgres

[QUOTE=maycolalvarez;3769018]¿tienes problemas de vista, o de "visión"?:

Warning: require_once(../Conexion/MyConexionPSQL.php) [function.require-once]: failed to open stream: No such file or directory in C:\wamp\www\prueba\MODELOS\personas\departamentosM odelo.php on line 3[/QUOT E]

es facil criticar no , el path esta bien,es otra cosa
  #4 (permalink)  
Antiguo 05/03/2011, 20:58
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: php y Postgres

el problema es que no esta encontrando el archivo creo que fue lo que te quiso indicar, bien sea por la ruta que estas indicando que encuentre el archivo o por el nombre que le estas pasando como parametro a la funcion require_once, sencillamente lo que debes revisar es eso, es muy dificil que nosotros desde aca podamos darte mas informacion ya que ese error lo debes de resolver verificando bien la ruta y el nombre del archivo que estas llamando, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 08/03/2011, 15:11
 
Fecha de Ingreso: octubre-2007
Mensajes: 12
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: php y Postgres

Cita:
Iniciado por carlos_belisario Ver Mensaje
el problema es que no esta encontrando el archivo creo que fue lo que te quiso indicar, bien sea por la ruta que estas indicando que encuentre el archivo o por el nombre que le estas pasando como parametro a la funcion require_once, sencillamente lo que debes revisar es eso, es muy dificil que nosotros desde aca podamos darte mas informacion ya que ese error lo debes de resolver verificando bien la ruta y el nombre del archivo que estas llamando, saludos

lo voy a poner con un ejemplo tengo un archivo
prueba->CONTROLADORES->Conexion->MyConexionPSQL.php



MyConexionPSQL.php

Class Conexion{
......
......
......
}

un 2º archivo


//////////////////////////////////////////////////////////
q es departamentosModelo.php

donde tengo lo sig


class Departamentos{



protected $id_depto;

protected $departamento;

protected $provincia_id;

function listarDepartamentos($conexDB){



$sql = "select * from tb_departamentos";


$result = $conexDB->runSQL($sql);
return $result;


}

si lo intancio desde el mismo archivo colocando lo sig

desde Marca inicio
-----------------------------------------------------------------------------------------------------
require_once"../../CONTROLADORES/Conexion/MyConexionPSQL.php";

$con = new Conexion();
$d = new Departamentos();
res = $d->listarDepartamentos($con);

for($i=0; $i<count($res); $i++){
echo '<br> dpto id ->'.$res[$i]->id;
echo '<br> departamento ->'.$res[$i]->departamento;
}
----------------------------------------------------------------------------------------------------
* hasta marca fin
funciona a la perfeccion


ahora hago un tercer archivo el controlador para llamarlo desde ahi comentando lo ultimo (marca inicio , marca fin)




y barriosControlador.php posee:



require_once"../Conexion/MyConexionPSQL.php";

require_once"../../MODELOS/personas/departamentosModelo.php";

class controlador__Barrios{

private $accion;
private $valores = array();
private $form_barrio;
private $Barrios;
private $Dptos;
private $msj = array();
public $id_conexion;

function __construct($accion,$valores) {
//parent::__construct($accion, $valores);
//$this->form_barrio = new vistaBarrio(); -----------____> antes en el mismo dia asin ajax
$this->id_conexion = new Conexion();
$this->accion = $accion;//$_POST['accion'];
$this->valores = explode(',',$valores); //$_POST['valores'];
$this->getVista();
//$this->Barrios = new Barrios();




}

function getVista(){
//echo 'accion->'.$this->accion;


switch($this->accion){

case 'crearBarrio' : $this->Barrios = new Barrios();$res = $this->Barrios->crearBarrio($this->valores[0],$this->valores[1]);


print $res['mensaje']; // aqui muetro si se guardo o no



break;
case 'listarBarrios' : $this->Barrios = new Barrios(); $res = $this->Barrios->listarBarrios();

for($i=0; $i<count($res); $i++){

echo '<br> Barrio ->'.$res[$i]->barrio;
echo '<br> departamento_id ->'.$res[$i]->departamento_id;


}
break;

case 'listarDepartamentos' : $this->Dptos = new Departamentos();
$res = $this->Dptos->listarDepartamentos($this->id_conexion);
for($i=0; $i<count($res); $i++){

echo '<br> dpto id ->'.$res[$i]->id;
echo '<br> departamento ->'.$res[$i]->departamento;


}



break;
default : 'no se selecciono ninguna accion';

}


}

}
?>

cuando lo instancio desde barriosControlador.php colocando en el mismo archivo


$accion = 'listarDepartamentos';
$control = new controlador__Barrios($accion,$valores= null);


funciona de 10


pero si lollamo desde otro lado ejemplo procesar.php

que tiene:
========
require_once"../../CONTROLADORES/barrios/barriosControlador.php";

y tambien lo probe asi require_once"CONTROLADORES/barrios/barriosControlador.php";

$accion = 'listarDepartamentos';
$control = new controlador__Barrios($accion,$valores= null);

Warning: require_once(../../CONTROLADORES/barrios/barriosControlador.php) [function.require-once]: failed to open stream: No such file or directory in C:\wamp\www\prueba\VISTAS\procesar.php on line 2

Fatal error: require_once() [function.require]: Failed opening required '../../CONTROLADORES/barrios/barriosControlador.php' (include_path='.;C:\php5\pear') in C:\wamp\www\prueba\VISTAS\procesar.php on line 2

NOTA EL PATH esta bien , ALGUIEN ME DIJO POR AHI QUE PHP NO SE PUEDE RELIZAR REQUIRE EN CASCADA



la estructura esta asi

prueba: (carpeta que contriene todo)

A-CONTROLADORES
A.1 barrios
a.1.1 barriosControlador.php

B-MODELOS
B.1 personas
b.1.1 departamentosModelo.php

C- VISTAS
c.1 procesar.php
çsi alguien mepude ayudar la verdad no se que es lo prbe tambien de varias formas una migo me dijo que no s epude relizar rquire en cascada

a.php
b.php
require_a.php
y un c.php
que llame a b.php






A.php es una clase de conexion

en B.php realizo otra clase para un listar, agregar modificar, etc en este caso de Departamentos una tabla de la base de datos

para probar que B.php y A.php estan bien echas instancio la clase B en el mismoarchivo
  #6 (permalink)  
Antiguo 08/03/2011, 15:24
 
Fecha de Ingreso: octubre-2007
Mensajes: 12
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: php y Postgres

perdon em equivoque la ultimo

lo llamo asi desde el procesar.php

<?php
include_once"../CONTROLADORES/barrios/barriosControlador.php";
/*$accion = $_POST['accion'];
$valores = $_POST['valores'];*/
$accion = 'listarDepartamentos';
$control = new controlador__Barrios($accion,$valores= null);


?>
y me sale este error

Warning: require_once(../Conexion/MyConexionPSQL.php) [function.require-once]: failed to open stream: No such file or directory in C:\wamp\www\prueba\CONTROLADORES\barrios\barriosCo ntrolador.php on line 14

Fatal error: require_once() [function.require]: Failed opening required '../Conexion/MyConexionPSQL.php' (include_path='.;C:\php5\pear') in C:\wamp\www\prueba\CONTROLADORES\barrios\barriosCo ntrolador.php on line 14

siendo que si lo llamo desde el mismo
barriosControlador.php
anda bien parece que no lo abre a la conexion es rarisimo y la verdda ya probe de todo alguien por favor me puede dar una mano me tiene loco esto

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:26.