hola a todos y gracias por la ayuda prestada en otros temas.    Una vez 
más necesito de sus ayudas para este proyecto.  Sucede que ahora tengo un 
formulario en el cual debo decirle al usuario que lo  cargue de forma manual ó 
que importe un archivo de excel (.xls ó .xlt)  ojo(csv->NO).   En estos 
momentos puedo leer el archivo y recorrer sus filas, sin embargo no tengo ni 
idea de   que metodo utilizar para decirle al controlador que esos datos los 
inserte en la base de datos mysql en la tabla normas.                Este el es 
controlador de Upload: //carga el archivo al servidor        function add() {   
             if (!empty($this->data)) {                                         
     $name_file = $this->data['Upload']['file']['name'];                     
$url = WWW_ROOT . 'files\\'.$name_file;                                         
        if ($this->FileUpload->success) {                                       
$this->set('file', $this->FileUpload->finalFile);                               
        $this->read_file($url);                                 
$this->Norma->save(read_file($url));                                    
$this->Session->setFlash(__('El archivo ha sido guardado', true));              
                        $this->redirect(array('action' => 'index'));            
                } else {                                        
$this->Session->setFlash($this->FileUpload->showErrors());                      
                $this->Session->setFlash(__('El archivo no pudo ser guardado', 
true));                                                                  }      
                                                         }       }              
                 y el método de read_file es:            function 
read_file($name_file){//funcion que lee el archivo del formulario.             
$data = new Spreadsheet_Excel_Reader();                 $norma = new Norma();   
                                $data->setOutputEncoding('CP1251');             
                        $data->read($name_file);                                
        error_reporting(E_ALL);                                 $i = 1;         
                                                                $colname = 
array('idnormas','nombrenormas','detallesnormas');                              
             for($i = 1; $i <= $data->sheets[0]['numRows']; $i++){//nro defila  
                                                     for( $j = 1; $j <= 
$data->sheets[0]['numCols']; $j++) {// de columnas                              
                             echo " ", $data->sheets[0]['cells'][$i][$j], " ";  
                                                                     
$product[$i-1][$j-1] = $data->sheets[0]['cells'][$i][$j];                       
                                                $product[$i-1][$colname[$j-1]] 
= $data->sheets[0]['cells'][$i][$j];                                            
         }                                               }                      
                                                                         return 
$product;        }                       cabe destacar que a dónde voy a 
insertar los datos en mysql es del modelo de NORMA, y por ello lo importé, pero 
me dá un error  de call;Estos son los errores: arning (4096): Object of class 
Norma could not be converted to string [APP\controllers\uploads_controller.php, 
line 66]Code | Context                    $this->set('file', 
$this->FileUpload->finalFile);

                    $this->read_file($url);

                    $this->$norma->save(read_file($url));
UploadsController::add() - APP\controllers\uploads_controller.php, line 66

Notice (8): Object of class Norma to string conversion 
[APP\controllers\uploads_controller.php, line 66]Notice (8): Undefined 
property: UploadsController::$Object [APP\controllers\uploads_controller.php, 
line 66]
Fatal error: Call to a member function save() on a non-object in 
C:\xampp\htdocs\prueba\app\controllers\uploads_controller.php on line 66
En realidad, se qué estoy haciendo muchas cosas mal, pero si alguien me puede 
dar un ejemplo y ayudarme, se los agradecería.... :) saludos...   
Mayuli Adriana Plaza González


 

                                          

-- 
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos 
de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a 
cakephp-es@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a 
cakephp-es+unsubscr...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en 
http://groups.google.com/group/cakephp-es?hl=es.

Responder a