Home Foros Foro dudas Foro de PHP/MySql Dudas de PHP Respuesta a: Dudas de PHP

Respuesta a: Dudas de PHP

Home Foros Foro dudas Foro de PHP/MySql Dudas de PHP Respuesta a: Dudas de PHP

#9922

Esteban
Participante

Hola Juan, mira te escribo aunque también lo he hecho en tu curso de Youtube, y es en relación al CRUD con POO; resulta que en el vídeo 82 dejaste a medias el asunto de los botones para insertar, eliminar y actualizar y yo he estado tratando de hacerlo por mi cuenta. Pues bien, con el insertar y el eliminar no he tenido ningún tipo de problemas, lo malo ha estado con la actualización, pues por un lado, al tener la pantalla de editar.php, he seguido tus enseñanzas y lo he dividido, dejando el archivo editar.php en la carpeta de vista pero sin el código SQL, que obviamente he introducido en el modelo. Ahora bien, en el controlador, ahí pregunto por $_POST, y si es “bot_actualizar” que lo actualice…. El caso es que no salgo de esta pantalla, no hace nada, es como si el valor del POST no viajara bien…. ¿Qué puedo hacer?. Muchísimas gracias.

Te adjunto el código para que veas mejor lo que he hecho….

 

editar.php:

<!doctype html>

<html>

<head>

<meta charset=”utf-8″>

<title>Documento sin título</title>

<link rel=”stylesheet” type=”text/css” href=”../hoja.css”>

</head>

 

<body>

 

<h1>ACTUALIZAR</h1>

 

<?php

 

?>

 

<p>&nbsp;</p>

<form name=”form1″ method=”post” action=”<?php echo $_SERVER[‘PHP_SELF’];?>”>

<table width=”25%” border=”0″ align=”center”>

<tr>

<td></td>

<td><label for=”id”></label>

<input type=”hidden” name=”id” id=”id” value=”<?php echo $_GET[“Id”]?>”</td>

</tr>

<tr>

<td>Nombre</td>

<td><label for=”nom”></label>

<input type=”text” name=”nom” id=”nom” value=”<?php echo $_GET[“Nom”]?>”></td>

</tr>

<tr>

<td>Apellido</td>

<td><label for=”ape”></label>

<input type=”text” name=”ape” id=”ape” value=”<?php echo $_GET[“Ape”]?>”></td>

</tr>

<tr>

<td>Dirección</td>

<td><label for=”dir”></label>

<input type=”text” name=”dir” id=”dir” value=”<?php echo $_GET[“Dir”]?>”></td>

</tr>

<tr>

<td colspan=”2″><input type=”submit” name=”bot_actualizar” id=”bot_actualizar” value=”Actualizar”></td>

</tr>

</table>

</form>

<p>&nbsp;</p>

</body>

</html>

 

personas_controller.php:

<?php

 

require_once(“model/personas_model.php”);

 

$personas = new personas_model();

 

$matrizPersonas = $personas->get_personas();

 

require_once(“view/personas_view.php”);

 

if(isset($_POST[“cr”])){

$nombre = $_POST[“Nom”];

$apellido = $_POST[“Ape”];

$direccion = $_POST[“Dir”];

$personas->insert_personas($nombre, $apellido, $direccion);

header(“Location:index.php”);

}

 

if(isset($_POST[“del”])){

$id = $persona[“id”];

$personas->delete_personas($id);

header(“Location:index.php”);

}

 

if(isset($_POST[“bot_actualizar”])){

$id=$_POST[“id”];

$nom=$_POST[“nom”];

$ape=$_POST[“ape”];

$dir=$_POST[“dir”];

$personas->update_personas($id, $nombre, $apellido, $direccion);

header(“Location:index.php”);

}

?>

 

Personas_model:

<?php

 

class personas_model{

 

private $db;

 

private $personas;

 

private $resulAdd;

 

public function __construct(){

 

require_once(“model/conexion.php”);

$this->db=conexion::connect();

$this->personas=array();

}

 

public function get_personas(){

 

require(“paginacion.php”);

 

$consulta=$this->db->query(“select * from datos_usuarios limit $empezar_desde, $tam_pag”);

while($filas=$consulta->fetch(PDO::FETCH_ASSOC)){

$this->personas[] = $filas;

}

return $this->personas;

}

 

public function insert_personas($nom,$ape,$dir){

 

$resulAdd=$this->db->query(“insert into datos_usuarios (nombre, apellido, direccion) values(‘$nom’,’$ape’,’$dir’)”);

}

 

public function delete_personas($idper){

 

$resulAdd=$this->db->query(“delete from datos_usuarios where id = $idper”);

}

 

public function update_personas($idper,$nom,$ape,$dir){

 

$resulAdd=$this->db->query(“update datos_usuarios set nombre=’$nom’,apellido=’$ape’, direccion=’$dir’where id = $idper”);

}

 

}

 

?>

 

Personas_view:

<!doctype html>

<html>

<head>

<meta charset=”utf-8″>

<title>Documento sin título</title>

</head>

<body>

 

<table>

 

<?php

 

require (“model/paginacion.php”);

 

?>

 

<form action=”<?php echo $_SERVER[‘PHP_SELF’];?>” method=”post”>

 

<table width=”90%” border=”0″ align=”center”>

<tr >

<td class=”primera_fila”>Id</td>

<td class=”primera_fila”>Nombre</td>

<td class=”primera_fila”>Apellido</td>

<td class=”primera_fila”>Dirección</td>

<td class=”sin”>&nbsp;</td>

<td class=”sin”>&nbsp;</td>

<td class=”sin”>&nbsp;</td>

</tr>

 

<?php

 

foreach($matrizPersonas as $persona):?>

 

<tr>

<td><?php echo $persona[“id”]?></td>

<td><?php echo $persona[“nombre”]?></td>

<td><?php echo $persona[“apellido”]?> </td>

<td><?php echo $persona[“direccion”]?> </td>

 

<td class=’bot’><input type=’submit’ name=’del’ id=’del’ value=’Borrar’></td>

<td class=’bot’>

& Nom=<?php echo $persona[“nombre”]?> & Ape=<?php echo $persona[“apellido”]?> & Dir=<?php echo $persona[“direccion”]?>”> <input type=’submit’ name=’upd’ id=’upd’ value=’Actualizar’></td>

</tr>

 

<?php

endforeach;

?>

 

<tr>

<td></td>

<td><input type=’text’ name=’Nom’ size=’10’ class=’centrado’></td>

<td><input type=’text’ name=’Ape’ size=’10’ class=’centrado’></td>

<td><input type=’text’ name=’ Dir’ size=’10’ class=’centrado’></td>

<td class=’bot’><input type=’submit’ name=’cr’ id=’cr’ value=’Insertar’></td></tr>

<tr><td>  <?php for($i=1;$i<=$total_paginas;$i++){echo “” . $i . “ “;}?></td></tt>

</table>

 

</form>

 

</table>

 

</body>

</html>