Lo adapté al código a otros delete y funciona lo más bien, ahora x_atrix quería preguntarte lo siguiente:
roles(rolId, rolNombre)
Tengo el rolNombre para ingresar y en la base de datos esta como clave única pero quería saber cómo hacer para mostrar un mensaje de: "El rol ya existe" tanto para guardar y editar, sólo que en el editar sucede que si no modifico el nombre y lo demás me puede salir ese mensaje.
Te muestro el código:
RolModel:
Código PHP:
Ver originalpublic function guardame($rol){
$sql="insert into roles(rolNombre) values(?)";
$consulta = $this->getBD()->prepare($sql);
$consulta->execute(array($rol->getNombre())); return ($consulta->rowCount() > 0) ? $this->getBD()->lastInsertId() : null;
}
public function modificame($rol){
$sql="update roles set rolNombre=? where rolId=?";
$consulta = $this->getBD()->prepare($sql);
$consulta->execute(array($rol->getNombre(),$rol->getId())); return ($consulta->rowCount() > 0) ? $rol->getId() : null;
}
RolesController:
Código PHP:
Ver originalpublic function add(){
if($this->checkUser()){
if (isset($_POST['btnaceptar'])) { if($this->checkDates()) {
$rol = new Rol(0, $_POST['txtnom']);
$this->modelo->guardame($rol);
Session::set("msg","Rol Creado");
header("Location:index.php?c=roles&a=index"); }
}
$this->redirect(array('add.php')); }
}
public function edit(){
if($this->checkUser()){
Session::set("id",$_GET['p']);
if (Session
::get('id')!=null && isset($_POST['btnaceptar'])){ if($this->checkDates()) {
$rol= new Rol($_POST['hid'],$_POST['txtnom']);
$this->modelo->modificame($rol);
Session::set("msg","Rol Editado");
header("Location:index.php?c=roles&a=index"); }
}
"rol" => $this->modelo->obtenerPorId(Session::get('id'))
));
}
}
Te lo pregunto xq me gustó mucho cómo me ayudaste con el borrar... Saludos y espero respuestas.