E
epru89
Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
tengo un programa sencillo que debería mostrar en un select una lista de zonas extraidas de una base de dato postgres
el problema que tengo es que no me muestra nada si alguien me pudiera ayuda se lo agradesco mucho
esta clase es la conexion a postgres con PDO el archivo se llama sql
<?php
class Conexion
{
public function conectar()
{
$usurio='*******'; // usuario de la base de dato
$clave='*******'; // clave de la base de dato
$host='localhost'; // base de dato es local
$puerto=5432; // puerto de la base de dato
$db='rutas'; // nombre de la base de dato
$conexion= new PDO("pgsql:dbname=$db;host=$host", $usurio, $clave ); // conexion a la pdo
return $conexion; // retornar la conexion
}
}
?>
esta es la class crud el archivo se llama crud
en esta clase llamo a la conexion de postgres, preparo la consulta a la base de dato
<?php
class Crud
{
public $datos;
public $tabla;
public $condicion;
public $msj;
public function leer()
{
$model =new conexion(); // creo el objeto para la conexion a la base de dato
$conec= $model->conectar(); // llamo al metodo que realiza la conexion a la base de dato
// asigno a variables nuevas los datos que mando por referencia desde la vista
$datos=$this->$datos;
$tabla=$this->$tabla;
$condicion=$this->$condicion;
if($condicion!= '') // si no hay condicion lista todos
{
$condicion=" WHERE ".$condicion; // un string para tomar en cuenta una condicion si la envia
}
$sql = "SELECT $datos FROM $tabla $condicion"; // la consulta sql
$consulta= $conexion->prepare($sql): // prepara la consulta con pdo
$cunsulta->execute(); // executa la consulta
while ($filas=$consulta->fetch()) // asocia los nombre de las tablas
{
$this->rows[]=$filas;
}
}
}
?>
AQUI es el problema aqui se supone que deberia mostrar una lista con las zonas que estan en la base de dato
primero en el navegador no muestra absolutamente NADA
<?php
include "controlador/crud.php"; // incluir las 2 clases a usar
include "sql/sql";
$model = new Crud(); // crear el objeto para mandar los datos a la base de dato
$model->$datos= ' * '; // cambiar el valor de la variable dato para que muestre todos *
$model->$tabla= ' zona '; // el nombre de la tabla que se va a utilizar es zona
$model->$condicion= ''; // no voloco condicion para que me muestre todos
$model->leer(); // llamo al metodo leer
$filas=$model->rows; // guarda en filas el total de la consulta
$total= count($filas); // numero total de filas
?>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<h4> leer la tabla zona</h4>
<strong>El total de filas es ... <?php echo $total;?></strong>
<select name="zona" id="zona">
<?php
foreach($filas as $fila)
{
echo "<option>".$fila['idzona']"</option>";
echo "<option>".$fila['nombrezona']"</option>";
}
?>
</select>
<td><a href=actualizar.php?
<?php idzona=$fila['idzona'] ?>
>Actualizar</td>
<td><a href=eliminar.php?
<?php idzona=$fila['idzona']?>
>Eliminar</td>
<input type="hidden" name="zona">
<input type="submit" name="zona" value="Seguiente">
</body>
</html>
gracias por llegar a leer hasta aqui.... ayuda por favor no se por que no hace NADA. que tengo que cambiar, agregar, modificar. algo :s por que no muestra :blue: :cold:
el problema que tengo es que no me muestra nada si alguien me pudiera ayuda se lo agradesco mucho
esta clase es la conexion a postgres con PDO el archivo se llama sql
<?php
class Conexion
{
public function conectar()
{
$usurio='*******'; // usuario de la base de dato
$clave='*******'; // clave de la base de dato
$host='localhost'; // base de dato es local
$puerto=5432; // puerto de la base de dato
$db='rutas'; // nombre de la base de dato
$conexion= new PDO("pgsql:dbname=$db;host=$host", $usurio, $clave ); // conexion a la pdo
return $conexion; // retornar la conexion
}
}
?>
esta es la class crud el archivo se llama crud
en esta clase llamo a la conexion de postgres, preparo la consulta a la base de dato
<?php
class Crud
{
public $datos;
public $tabla;
public $condicion;
public $msj;
public function leer()
{
$model =new conexion(); // creo el objeto para la conexion a la base de dato
$conec= $model->conectar(); // llamo al metodo que realiza la conexion a la base de dato
// asigno a variables nuevas los datos que mando por referencia desde la vista
$datos=$this->$datos;
$tabla=$this->$tabla;
$condicion=$this->$condicion;
if($condicion!= '') // si no hay condicion lista todos
{
$condicion=" WHERE ".$condicion; // un string para tomar en cuenta una condicion si la envia
}
$sql = "SELECT $datos FROM $tabla $condicion"; // la consulta sql
$consulta= $conexion->prepare($sql): // prepara la consulta con pdo
$cunsulta->execute(); // executa la consulta
while ($filas=$consulta->fetch()) // asocia los nombre de las tablas
{
$this->rows[]=$filas;
}
}
}
?>
AQUI es el problema aqui se supone que deberia mostrar una lista con las zonas que estan en la base de dato
primero en el navegador no muestra absolutamente NADA
<?php
include "controlador/crud.php"; // incluir las 2 clases a usar
include "sql/sql";
$model = new Crud(); // crear el objeto para mandar los datos a la base de dato
$model->$datos= ' * '; // cambiar el valor de la variable dato para que muestre todos *
$model->$tabla= ' zona '; // el nombre de la tabla que se va a utilizar es zona
$model->$condicion= ''; // no voloco condicion para que me muestre todos
$model->leer(); // llamo al metodo leer
$filas=$model->rows; // guarda en filas el total de la consulta
$total= count($filas); // numero total de filas
?>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<h4> leer la tabla zona</h4>
<strong>El total de filas es ... <?php echo $total;?></strong>
<select name="zona" id="zona">
<?php
foreach($filas as $fila)
{
echo "<option>".$fila['idzona']"</option>";
echo "<option>".$fila['nombrezona']"</option>";
}
?>
</select>
<td><a href=actualizar.php?
<?php idzona=$fila['idzona'] ?>
>Actualizar</td>
<td><a href=eliminar.php?
<?php idzona=$fila['idzona']?>
>Eliminar</td>
<input type="hidden" name="zona">
<input type="submit" name="zona" value="Seguiente">
</body>
</html>
gracias por llegar a leer hasta aqui.... ayuda por favor no se por que no hace NADA. que tengo que cambiar, agregar, modificar. algo :s por que no muestra :blue: :cold: