⚠ In case you've missed it, we have migrated to our new website, with a brand new forum. For more details about the migration you can read our blog post for website migration. This is an archived forum. ⚠

  •     

profile picture

[ES] Translation The newbies grocery CRUD Tutorial



fantas

fantas
  • profile picture
  • Member

Posted 31 December 2011 - 08:34 AM

Tutorial de grocery CRUD para novatos.

Tu primer CRUD con grocery Crud.

Si no tienes experiencia en Codeigniter y todavia no puedes entender como crear tu propio CRUD, este tutorial de codeigniter CRUD es justo para ti, abajo podras encontrar los pasos a seguir
para hacer funcionar grocery CRUD e instalarlo en cualquier proyecto. Todos los ejemplos aqui mencionados son basados en Codeigniter 2.x

Paso 1. Primero que todo descarga codeigniter y asegurate que tu proyecto de la pantalla de bienvenida. Si tu proyecto se muestra como la siguiente imagen has instalado codeigniter correctamente!
codeigniter-welcome.png
Paso 2. Ahora estas listo para configurar tu codeigniter con tu base de datos. El archivo de configuracion para conexion se encuentra en application/config/database.php El archivo se debe de encontrar de la siguiente manera:


<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/**

* CodeIgniter

*

* An open source application development framework for PHP 5.1.6 or newer

... mpla mpla mpla

*/



$active_group = 'default';

$active_record = TRUE;



$db['default']['hostname'] = 'localhost';

$db['default']['username'] = '';

$db['default']['password'] = '';

$db['default']['database'] = '';

$db['default']['dbdriver'] = 'mysql';

$db['default']['dbprefix'] = '';

$db['default']['pconnect'] = TRUE;

$db['default']['db_debug'] = TRUE;

$db['default']['cache_on'] = FALSE;

$db['default']['cachedir'] = '';

$db['default']['char_set'] = 'utf8';

$db['default']['dbcollat'] = 'utf8_general_ci';

$db['default']['swap_pre'] = '';

$db['default']['autoinit'] = TRUE;

$db['default']['stricton'] = FALSE;

$db['default']['failover'] = array();



/* End of file database.php */

/* Location: ./application/config/database.php */

Asegurate que has introducido los parametros de tu base de datos correctamente por ejemplo:


$db['default']['hostname'] = 'HOST';

$db['default']['username'] = 'USUARIO';

$db['default']['password'] = 'CONTRASEÑA';

$db['default']['database'] = 'NOMBRE_DE_LA_BASE_DE_DATOS';

Paso 3. Vamos a crear nuestro primer controlador. Lo llamaremos "Main. para hacer esto debes de ir a tu carpeta application/controllers y aÑadir un archivo llamado main.php, debe de quedar asi:
 


<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');



class Main extends CI_Controller {



	function __construct()

	{

		parent::__construct();



		$this->load->database();



	}



	public function index()

	{

		echo "<h1>Bienvenido al mundo de Codeigniter</h1>";//Solo un ejemplo!

		die();

	}

}



/* End of file main.php */

/* Location: ./application/controllers/main.php */



Asegurate que todo trabaje correctamente, dirigete a tu-proyecto/index.php/main y ves el mensaje "Bienvenido al mundo de Codeigniter" exelente vamos bien!.

Si ves la siguiente imagen, ups! algo salio mal regresa al paso 2 y asegurate que estableciste tus datos de la base de datos correctamente.
database-error.png
Paso 4: Crear una tabla en tu base de datos por ejemplo "employees", el codigo Sql que debes de insertar es:


CREATE TABLE IF NOT EXISTS `employees` (

  `employeeNumber` int(11) NOT NULL AUTO_INCREMENT,

  `lastName` varchar(50) NOT NULL,

  `firstName` varchar(50) NOT NULL,

  `extension` varchar(10) NOT NULL,

  `email` varchar(100) NOT NULL,

  `officeCode` varchar(10) NOT NULL,

  `file_url` varchar(250) CHARACTER SET utf8 NOT NULL,

  `jobTitle` varchar(50) NOT NULL,

  PRIMARY KEY (`employeeNumber`)

) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1703 ;





INSERT INTO `employees` (`employeeNumber`, `lastName`, `firstName`, `extension`, `email`, `officeCode`, `file_url`, `jobTitle`) VALUES

(1002, 'Murphy', 'Diane', 'x5800', 'dmurphy@classicmodelcars.com', '1', '', 'President'),

(1056, 'Patterson', 'Mary', 'x4611', 'mpatterso@classicmodelcars.com', '1', '', 'VP Sales'),

(1076, 'Firrelli', 'Jeff', 'x9273', 'jfirrelli@classicmodelcars.com', '1', '', 'VP Marketing'),

(1088, 'Patterson', 'William', 'x4871', 'wpatterson@classicmodelcars.com', '6', '', 'Sales Manager (APAC)'),

(1102, 'Bondur', 'Gerard', 'x5408', 'gbondur@classicmodelcars.com', '4', 'pdftest.pdf', 'Sale Manager (EMEA)'),

(1143, 'Bow', 'Anthony', 'x5428', 'abow@classicmodelcars.com', '1', '', 'Sales Manager (NA)'),

(1165, 'Jennings', 'Leslie', 'x3291', 'ljennings@classicmodelcars.com', '1', '', 'Sales Rep'),

(1166, 'Thompson', 'Leslie', 'x4065', 'lthompson@classicmodelcars.com', '1', '', 'Sales Rep'),

(1188, 'Firrelli', 'Julie', 'x2173', 'jfirrelli@classicmodelcars.com', '2', 'test-2.pdf', 'Sales Rep'),

(1216, 'Patterson', 'Steve', 'x4334', 'spatterson@classicmodelcars.com', '2', '', 'Sales Rep'),

(1286, 'Tseng', 'Foon Yue', 'x2248', 'ftseng@classicmodelcars.com', '3', '', 'Sales Rep'),

(1323, 'Vanauf', 'George', 'x4102', 'gvanauf@classicmodelcars.com', '3', '', 'Sales Rep'),

(1337, 'Bondur', 'Loui', 'x6493', 'lbondur@classicmodelcars.com', '4', '', 'Sales Rep'),

(1370, 'Hernandez', 'Gerard', 'x2028', 'ghernande@classicmodelcars.com', '4', '', 'Sales Rep'),

(1401, 'Castillo', 'Pamela', 'x2759', 'pcastillo@classicmodelcars.com', '4', '', 'Sales Rep'),

(1501, 'Bott', 'Larry', 'x2311', 'lbott@classicmodelcars.com', '7', '', 'Sales Rep'),

(1504, 'Jones', 'Barry', 'x102', 'bjones@classicmodelcars.com', '7', '', 'Sales Rep'),

(1611, 'Fixter', 'Andy', 'x101', 'afixter@classicmodelcars.com', '6', '', 'Sales Rep'),

(1612, 'Marsh', 'Peter', 'x102', 'pmarsh@classicmodelcars.com', '6', '', 'Sales Rep'),

(1619, 'King', 'Tom', 'x103', 'tking@classicmodelcars.com', '6', '', 'Sales Rep'),

(1621, 'Nishi', 'Mami', 'x101', 'mnishi@classicmodelcars.com', '5', '', 'Sales Rep'),

(1625, 'Kato', 'Yoshimi', 'x102', 'ykato@classicmodelcars.com', '5', '', 'Sales Rep'),

(1702, 'Gerard', 'Martin', 'x2312', 'mgerard@classicmodelcars.com', '4', '', 'Sales Rep');

Ahora que insertaste el codigo sin ningun error, vamos al siguiente paso.

Paso 5: Vamos a nuestro controlador y agregemos algunas cosas para hacer funcionar a grocery CRUD. Primero asegurate que instalaste grocery CRUD correctamente copiando TODOS los archivos y carpetas en tu proyecto.
Para mas informacion visita ->Instalar grocery CRUD.

Si todo marcha bien y no tienes ningun error o exepcion puedes dirigirte a tu-proyecto/index.php/main/employees y veras el resultado abajo, entonces todo funciona correctamente:


stdClass Object

(

	[output] => Your output will appear here....

	[js_files] => Array

		(

			[763b4d272e158bdb8ed5a12a1824c94f494954bd] => http://grocery_crud/public/grocery_crud/themes/datatables/js/jquery-1.6.2.min.js

			[0b677f3fc6fb25b4baf39eb144222116c5b60254] => http://grocery_crud/public/grocery_crud/themes/flexigrid/js/cookies.js

			[ec3ae62b8d5838972e858fe54447bd4bd8d79f88] => http://grocery_crud/public/grocery_crud/themes/flexigrid/js/flexigrid.js

			[2c0ff56d0cbc6f80a5ef9c770d478f0e00c3170d] => http://grocery_crud/public/grocery_crud/themes/flexigrid/js/jquery.form.js

			[474495ff1e895eab81fb8afba4db9b06c15b19af] => http://grocery_crud/public/grocery_crud/themes/flexigrid/js/jquery.numeric.js

		)



	[css_files] => Array

		(

			[732b03aa54d124f062757b71e5560acdc5632ba6] => http://grocery_crud/public/grocery_crud/themes/flexigrid/css/flexigrid.css

		)



)

Paso 6: Crear una vista, si recibimos este resultado todo marcha bien solo falta crear una vista para hacerlo funcionar. Para crear una vista tenemos que crear un archivo y tiene que quedar asi:


<!DOCTYPE html>

<html lang="en">

<head>

	<meta charset="utf-8" />



<?php

foreach($css_files as $file): ?>

	<link type="text/css" rel="stylesheet" href="<?php echo $file; ?>" />



<?php endforeach; ?>

<?php foreach($js_files as $file): ?>



	<script src="<?php echo $file; ?>"></script>

<?php endforeach; ?>



<style type='text/css'>

body

{

	font-family: Arial;

	font-size: 14px;

}

a {

	color: blue;

	text-decoration: none;

	font-size: 14px;

}

a:hover

{

	text-decoration: underline;

}

</style>

</head>

<body>

<!-- Beginning header -->

	<div>

		<a href='<?php echo site_url('examples/offices_management')?>'>Offices</a> |

		<a href='<?php echo site_url('examples/employees_management')?>'>Employees</a> |

		<a href='<?php echo site_url('examples/customers_management')?>'>Customers</a> |

		<a href='<?php echo site_url('examples/orders_management')?>'>Orders</a> |

		<a href='<?php echo site_url('examples/products_management')?>'>Products</a> |

		<a href='<?php echo site_url('examples/film_management')?>'>Films</a>



	</div>

<!-- End of header-->

	<div style='height:20px;'></div>

	<div>

		<?php echo $output; ?>



	</div>

<!-- Beginning footer -->

<div>Footer</div>

<!-- End of Footer -->

</body>

</html>

y lo guardamos en application/views/tu_vista.php, ahora vamos a nuestro controlador para aÑadir mas cosas.


<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');



class Main extends CI_Controller {



	function __construct()

	{

		parent::__construct();



		/* Standard Libraries of codeigniter are required */

		$this->load->database();

		$this->load->helper('url');

		/* ------------------ */



	}



	public function index()

	{

		echo "<h1>Welcome to the world of Codeigniter</h1>";//Just an example to ensure that we get into the function

				die();

	}



	public function employees()

	{

		$this->grocery_crud->set_table('employees');

		$output = $this->grocery_crud->render();



		$this->_example_output($output);	  

	}



	function _example_output($output = null)



	{

		$this->load->view('tu_vista.php',$output);  

	}

}



/* End of file main.php */

/* Location: ./application/controllers/main.php */



Ahora visita http://tu-Url/tu-pro.../main/employees y tienes que visualizar una pantalla asi:
employees-example.png
Eso es! ahora vamos a la cocina y prepara una bebida puede ser un café un té o una cerveza ( Depende la hora del dia!) y disfruta del poder de grocery CRUD en tu proyecto.

Despues puedes continuar leyendo los ejemplos o ir directo a los metodos y funciones de la libreria grocery CRUD.

NOTA: Este tutorial solo muestra como instalar grocery CRUD en tu proyecto. Si tienes cualquier duda acerca de codeigniter, por ejemplo como usar las vistas, por favor visita la guia de usuario de codeigniter o publica tu pregunta en el foro de codeigniter.

grocery CRUD, no funciona?. Puedes ver los problemas conocidos o puedes buscar una respuesta en nuestros foros. Todavia no puedes instalarlo? Mandanos un mensaje en nuestro formulario de ayuda y respoderemos tan pronto como podamos.

_________________________

Translation by @Hektorc
:)


web-johnny

web-johnny
  • profile picture
  • Administrator
  • 1,166 posts

Posted 01 January 2012 - 22:33 PM

Thats awesome :-) Thanks a lot. I think this will attract more people to use and understand grocery crud

fantas

fantas
  • profile picture
  • Member

Posted 05 January 2012 - 22:05 PM

:).

twister88888

twister88888
  • profile picture
  • Member

Posted 05 July 2012 - 11:52 AM

Hola me gustaría saber de que manera se puede ocultar el parámetro id cuando se añade, edita o elimina. Una solución sería pasarlo por $_POST en vez de $_GET. Gracias!!

NO: http://localhost/web...s/index/edit/88
YES: http://localhost/web...eles/index/edit

José Sánchez Córdoba

José Sánchez Córdoba
  • profile picture
  • Member

Posted 20 October 2012 - 22:24 PM

Saludos en el paso 5 cuando pongo main/employees me dice que nada. Pienso si en el controlador no existe es lógico. ¿Que puedo hacer mal para no ver el volcado que toca salir? por lo demás si continuo el ejercicio todo va perfecto. Incluso trabajo bién con grocery. Saludos excelente gracias.

Vicoysito

Vicoysito
  • profile picture
  • Member

Posted 02 July 2013 - 17:05 PM

Muchas gracias por el aporte! solo un pequeño detalle dentro del paso 5 al parecer falta la creación del método employees

dentro del controller Main de otra forma nunca se desplegará la pantalla que se menciona despues de la creación de la tabla en la base de datos, y es por eso que a muchos al entrar al url "tu-proyecto/index.php/main/employees" les genera error de primera instancia.

 

Sí esto sucede asegurense de que se encuentre importada la librería de "grocery_CRUD" dentro del constructor y  el método employees dentro del controlador Main

  function __construct()
    {
        parent::__construct();
 
        /* Standard Libraries of codeigniter are required */
        $this->load->database();
        $this->load->helper('url');
        /* ------------------ */ 
 
        $this->load->library('grocery_CRUD');
 
    }
 public function employees()
    {
        $this->grocery_crud->set_table('employees');
        $output = $this->grocery_crud->render();
 
        echo "<pre>";
        print_r($output);
        echo "</pre>";
        die();
    }

un saludo y muchas gracias por el tutorial esta excelente!


Rodrigo Herrera Jara

Rodrigo Herrera Jara
  • profile picture
  • Member

Posted 06 November 2013 - 18:09 PM

saludos  soy novato en esto y keria saber como podria llegar a manipular 2 tablas relacionadas ?? como seleccionar uno de los usuarios y agregarle items a este

gracias por el tutorial esta muy bueno, seria genial si me pueden ayudar saludos.


Pelayo Maojo Llera

Pelayo Maojo Llera
  • profile picture
  • Member

Posted 17 November 2014 - 18:05 PM

Rodrigo:

Esto por ejemplo me carga el nombre del cliente al que pertenece la tarea:

 

class Main extends CI_Controller {
 
    function __construct()
    {
        parent::__construct();
 
        /* Standard Libraries of codeigniter are required */
        $this->load->database();
        $this->load->helper('url');
        /* ------------------ */ 
 
        $this->load->library('grocery_CRUD');
 
    }
 
    public function index()
    {
        echo "<h1>Alegría</h1>";//Just an example to ensure that we get into the function
                die();
    }
 
    public function tareas()
    {
        $crud = new grocery_CRUD();
 
    $crud->set_theme('datatables');
    $crud->set_table('ci_tarea');
    $crud->display_as('customer_id','Cliente');
    $crud->set_subject('Tarea');
 
    $crud->set_relation('customer_id','ci_customer','firstname');
 
    $output = $crud->render();      
    $this->_example_output($output); 
    }
 
    function _example_output($output = null)
 
    {
        $this->load->view('control.php',$output);    
    }
}

hertzon

hertzon
  • profile picture
  • Member

Posted 05 August 2016 - 17:03 PM

Hello , i have created a ready to use Codeigniter with a grocerycrud ready to use folder image, you can view and download in:

https://www.youtube.com/watch?v=S4HinRFlxVg

 

 

Best Regards,

 

Nelson