Foros del Web » Programando para Internet » PHP » CodeIgniter »

Agregar botón para insertar registro de una tabla a otra

Estas en el tema de Agregar botón para insertar registro de una tabla a otra en el foro de CodeIgniter en Foros del Web. Hola! Tengo armado un crud con grocery al cual le agregué un botón (además del editar y borrar) en el que pretendo que al hacer ...
  #1 (permalink)  
Antiguo 13/02/2013, 15:20
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 21 años, 3 meses
Puntos: 5
Agregar botón para insertar registro de una tabla a otra

Hola!

Tengo armado un crud con grocery al cual le agregué un botón (además del editar y borrar) en el que pretendo que al hacer click se copie ese registro a otra tabla y luego se elimine.

Es decir tengo la tabla pendientes donde tengo cargados datos y al hacer click en el botón en cuestión quiero que ese registro se copie a la tabla clientes y se elimine de la tabla pendientes y se envie un mail a ese cliente (esto no lo tengo desarrollado aún)

Ambas tablas tienen los mismos campos.

Copio el código que tengo, pero no está funcionando y no encuentro cual es el problema.

mi controlador pendientes.php

Código PHP:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class 
Pendientes extends CI_Controller {

    function 
__construct() 
    {
        
        
parent::__construct();
        
        
$this->template->set_layout('layout.php');

        
$this->load->database();
        
$this->load->library('grocery_crud');
        
$this->load->helper('url');
    }

    function 
index() 
    {
        
    }


    function 
pendientes_v()
    {
        
$this->load->view('layouts/header');
        
$this->load->view('layouts/menu');
        
        try{

            
            
$crud = new grocery_CRUD();

            
            
$crud->set_theme('datatables');

            
            
$crud->set_table('pendientes');

            
            
$crud->set_subject('Pendientes');

            
            
$crud->set_language('spanish');

            
            
$crud->required_fields(
                
'id',
                
'nombre',
                
'email',
                
'empresa',
                
'telefono'
            
);

            
            
$crud->columns(
                
'id',
                
'nombre',
                
'email',
                
'empresa',
                
'cuit',
                
'direccion',
                
'telefono',
                
'clave'
            
);
            
            
$crud->add_action('Enviar''''pendientes/pendientes_v/copiarpendientes','ui-icon-plus');
            
            
            
$output $crud->render();
            
            
$this->load->view('pendientes/pendientes_v'$output);        
    
            
        }catch(
Exception $e){
            
            
show_error($e->getMessage().' --- '.$e->getTraceAsString());
        }
        
        
$this->load->view('layouts/footer');
    }
    
    
    
    function 
copiarpendientes($id)
    {
       
$this->load->model('clientes_modelo','clientes');
       
$this->load->model('pendientes_modelo','pendientes');
       
$this->clientes->insert($id); 
       
$this->pendientes->delete($id); 
    }    
    
}
y dentro de la carpeta models
clientes_modelo.php


Código PHP:
<?php
class Clientes_modelo extends CI_Controller
{    
    public function 
insert($id) {
            
$this->db->where('id',$id);
            
$rs $this->db->get('pendientes')->result_array();
    
            
$data['id'] = $rs['id']; 
            
$data['nombre'] = $rs['nombre'];
            
$data['email'] = $rs['email'];
            
$data['empresa'] = $rs['empresa'];
            
$data['cuit'] = $rs['cuit'];
            
$data['direccion'] = $rs['direccion'];
            
$data['telefono'] = $rs['telefono'];
            
$data['clave'] = $rs['clave'];
            
            
$this->db->insert('clientes'$data);
        }
}

y pendientes_modelo.php

Código PHP:
<?php
class Pendientes_modelo extends CI_Controller
{
    public function 
delete($id){
            
$this->db->delete('pendientes', array('id'=>$id));
    }
}

Espero puedan ayudarme, desde ya muchas gracias!
__________________
Saludos!!!
Maru.-
  #2 (permalink)  
Antiguo 13/02/2013, 22:17
 
Fecha de Ingreso: febrero-2013
Mensajes: 33
Antigüedad: 11 años, 9 meses
Puntos: 2
Respuesta: Agregar botón para insertar registro de una tabla a otra

Prueba cambiando clientes_modelo por esto:
Código PHP:

 <?php
class Clientes_modelo extends CI_Controller
{    
    public function 
insert($id) {
            
$this->db->where('id',$id);
            
$rs $this->db->get('pendientes')->result_array();
     
            
$data = array(
'id' => $rs['id'],
'nombre' => $rs['nombre'],
'email' => $rs['email'],
'empresa' => $rs['empresa'],
'cuit' => $rs['cuit'],
'direccion' => $rs['direccion'],
'telefono' => $rs['telefono'],
'clave' => $rs['clave']
);
          
            
            
$this->db->insert('clientes'$data);
        }
}
  #3 (permalink)  
Antiguo 22/02/2013, 15:59
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 21 años, 3 meses
Puntos: 5
Respuesta: Agregar botón para insertar registro de una tabla a otra

Muchas gracias!!! funcionó!!!! :)
__________________
Saludos!!!
Maru.-

Etiquetas: registro, tabla
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 13:30.