⚠ In case you've missed it we are migrating 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 forum is read-only and soon will be archived. ⚠


noskov

Member Since 20 Jan 2012
Offline Last Active May 23 2013 07:20 AM
*****

#4127 How to validate the format of the image to upload?

Posted noskov on 31 October 2012 - 08:04 PM

You are welcome!
I think that you can make it using callback_before_upload. Please read the docs for more info.

It would be something like this in your function:
$crud->callback_before_upload(array($this, '_valid_images'));

and the callback:
public function _valid_images($files_to_upload, $field_info)
{
  if ($files_to_upload[$field_info->encrypted_field_name]['type'] != 'image/png')
  {
   return 'Sorry, we can upload only PNG-images here.';
  }
  return true;
}

And the similar code can be for your Music section, just check another file type 'audio/mp3'.

P.S. Please, check my example, cause I don't know for sure whether it works properly :P


#4121 CKEDITOR Basic Toolbar

Posted noskov on 31 October 2012 - 06:18 PM

Hi, dontako!
Please, change the line
CKEDITOR.config.toolbar = [

into this
config.toolbar_Full = [
or
config.toolbar_Basic = [



#4008 Grocery CRUD with out CodeIgniter?

Posted noskov on 27 October 2012 - 07:42 AM

Hi, saeid_omrani and welcome to the forum!

Unfornunately for now you cannot use grocery CRUD without CodeIgniter as is. Couse of the library was built on CI framework.
For more information, please, read this topic.

Best regards!


#3991 Set Relation 1_n and Add others fields to joint table

Posted noskov on 25 October 2012 - 06:58 AM

Hi there! You're welcome and sorry for the delayed answer :(

does it mean I will have more than 1 charter that will correspond to the number of sessions created?

The result will be something like that:
Charters table
charter_id | session_charter_id | testing_type_id | ...
    1                      1                             1
    2                      2                             2                   -> we will give two charters with charter_id #2 and #3
    3                      2                             1                        for the the one session #2 and with testing types # 2 and 1
    4                      3                             3

Sessions table
session_id | charter_id | ...
    1                      1
    2                      2
    3                      4

Testing table
testing_type_id | ...
     1
     2
     3

As for mysql or CodeIgniter Active Record. Yes, you can easilly make it and use further in you code. For example in you controller you write:
$query = "SELECT charter_id FROM charters ...";
// or
$ci_query = $this->db->select('charter_id')->from('charters')...

and then you can use $(ci_)query for example:
$crud->set_relation('session_charter_id', 'charters', 'charter_id', array('testing_type_id' => $query));

In addition you can make more complicated code with the set_model() function. But in this case it seems to me that it's not really needed. But you can do this :) as well.

Best regards!


#3208 indonesian language

Posted noskov on 03 September 2012 - 09:32 AM

You can do it easily. Go to the ./application/config/grocery_crud.php configuration file and change the line
$config['grocery_crud_default_language'] = 'english';

into
$config['grocery_crud_default_language'] = 'indonesian';
That's all.


#3099 set_relation_n_n not working on add screen

Posted noskov on 24 August 2012 - 04:09 AM

ashish_nirkhe, you are welcome :)


#3089 Multiple Grids in one page.

Posted noskov on 23 August 2012 - 11:44 AM

Hi, casachit
A few months ago there was a small typo in the language files, look at this commit when it was fixed. Probably you have different parts with different bug fixes...


#3086 set_relation_n_n not working on add screen

Posted noskov on 23 August 2012 - 05:17 AM

ashish_nirkhe, please post here the dump of those tables and also the controller

By the way, what versions of CodeIgniter and grocery CRUD do you use?


#3074 set_relation_n_n not working on add screen

Posted noskov on 22 August 2012 - 06:54 PM

Hi, ashish_nirkhe and welcome to the forum!
Have you got any errors at the firebug? What the server responses when you click to the save button?


#3054 Using set_relation

Posted noskov on 20 August 2012 - 08:27 PM

Hi, Brian Humes and welcome to the forum!
Try to change these lines:
$output = $this->grocery_crud->render();
$this->load->view('admin/crud',$output);

into these:
$output = $crud->render();
$this->_example_output($output);

P.S. Have you got any errors at the firebug?


#2867 show grocery crud grid using tab panel

Posted noskov on 28 July 2012 - 06:03 AM

Hi, udayasri!
  • Add your data to the function, on the basis of which you will form the menu links. For example,
    	...	$output = $crud->render();	$output->menu_links = $this->db->select('customer_id, customer_name')->get('your_customers')->result();	...
  • now at the view you can do something like that:
    	<ul>	<?php foreach ($menu_links as $link) {?>	<li><?php echo anchor("examples/purchase_details/$link->customer_id", "$link->customer_name");?></li>	<?php }?>	</ul>
  • then create function purchase_details(), where you will get the needed data, for example,
    	public function purchase_details($customer)	{	$customer = $this->uri->segment(3); // or 4 if you're using index.php at the url	$crud->set_table('your_purchase_details');	$crud->where('customer_details', $customer);	...	}
So, at the view you will have menu links which will send you to the your_project/controller/purchase_details/customer_id and the function purchase_details($customer) will give you info about that customer.

P.S. I wrote these without any testing, so there might be some typos or errors in my examples :ph34r:


#2751 Incorrect table info showing up

Posted noskov on 17 July 2012 - 09:13 PM

Hi, my friends!
DRKgatsby, also look at this topic about the work that have made Xrymz.


#2749 Инструкция по grocery CRUD для новичков (The newbies grocery CRUD Tutorial in...

Posted noskov on 17 July 2012 - 08:44 PM

Первые шаги с grocery CRUD

Примечание: эта страница также доступна на английском и испанском языках.

Если вы только начинаете работать с CodeIgniter'ом и еще не представляете, как создать систему управления сайтом, это руководство как раз для вас. В нем мы шаг за шагом рассмотрим, как установить библиотеку и настроить работу grocery CRUD для нового проекта. Заметим, что все приведенные здесь примеры применимы к версиям CodeIgniter'а 2.х.х.

Шаг 1. Прежде всего, скачайте CodeIgniter, установите его и убедитесь в том, что при посещении проекта у вас отображается приветственная страница. Если на первом экране вы видите то же, что на картинке ниже, то установка фреймворка прошла успешно и можно двигаться дальше.

Posted Image

Шаг 2. Сейчас мы перейдем к настройке базы данных для нашего проекта. Подключение к базе данных для CodeIgniter'а настраивается в файле your_project/application/config/database.php, который выглядит следующим образом:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| DATABASE CONNECTIVITY SETTINGS
| -------------------------------------------------------------------
|
| Bla, bla, bla...
*/

$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;

/* End of file database.php */
/* Location: ./application/config/database.php */

Здесь необходимо указать параметры для подключения к вашей базе данных. Например:

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '1234'; // Надежный пароль, правда?
$db['default']['database'] = 'my_new_cms';

Шаг 3. Теперь приступим к созданию нашего контроллера, условно назовем его Main. Для того, чтобы сделать это, перейдите в папку your_project/application/controllers/ и создайте в ней новый файл main.php, а затем добавьте в него следующие строки:

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

class Main extends CI_Controller {

public function __construct()
{
  parent::__construct();
  $this->load->database();
}

public function index()
{
  echo '<h1>Добро пожаловать в мир grocery CRUD!</h1>'; // Просто, чтобы убедиться, что наш контроллер работает
  die();
}
}

/* End of file main.php */
/* Location: ./application/controllers/main.php */

Если вы сейчас перейдете на страницу http://localhost/you.../index.php/main и увидите сообщение: "Добро пожаловать в мир grocery CRUD!", значит, все работает, как следует. Но если вместо этого вы видите ошибку, подобную этой:

Posted Image

значит, в ваших настройках подключения к базе данных что-то не правильно. Проверьте имя пользователя БД и пароль и попробуйте зайти на страницу снова.

Шаг 4. Теперь создайте в базе данных новую таблицу, которая будет называться employees. Вот SQL-код, с помощью которого это можно сделать:

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');

Если создание таблицы и добавление в нее данных прошло успешно, пора переходить к следующему этапу.

Шаг 5. Вернемся к нашему контроллеру и добавим в него код, необходимый для работы grocery CRUD. Прежде всего убедитесь в том, что вы скопировали ВСЕ файлы и папки в свой проект и правильно установили библиотеку.
О том, как это сделать, вы можете узнать из инструкции по установке grocery CRUD для CodeIgniter'а на русском и английском языках.

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

class Main extends CI_Controller {

public function __construct()
{
  parent::__construct();
  $this->load->database();
  $this->load->helper('url');
  $this->load->library('grocery_CRUD');
}

public function index()
{
  echo '<h1>Добро пожаловать в мир grocery CRUD!</h1>'; // Просто, чтобы убедиться, что наш контроллер работает
  die();
}

public function employees()
{
  $this->grocery_crud->set_table('employees');
  $output = $this->grocery_crud->render();
  echo "<pre>";
  print_r($output);
  echo "</pre>";
  die();
}
}

/* End of file main.php */
/* Location: ./application/controllers/main.php */

Если все идет хорошо и у вас нет никаких ошибок или исключений, то, когда вы зайдете на страницу http://localhost/you.../main/employees, вы должны увидеть приведенный ниже пример. Если это так, значит, все работает правильно.

stdClass Object (
[output] => Здесь будут ваши данные.
[js_files] => Array (
  [6b63be097451dbb96a950604e9a72faddca0131a] => http://your_project/assets/grocery_crud/js/jquery-1.7.1.min.js
  [2d2b031fb606852768dc4c9a3c457545558cc924] => http://your_project/assets/grocery_crud/themes/flexigrid/js/cookies.js
  [6629a324ade6d489aff77292cb02e31d9188a6bb] => http://your_project/assets/grocery_crud/themes/flexigrid/js/flexigrid.js
  [f32759f44ae94dad1a17f0b37a77f4085f415e18] => http://your_project/assets/grocery_crud/themes/flexigrid/js/jquery.form.js
  [0e49c025c7181e38222132fd81db98f418071bf4] => http://your_project/assets/grocery_crud/themes/flexigrid/js/jquery.numeric.js
)
[css_files] => Array (
  [f1731e27afe02ab899b16daf8ae4a5ac8ac05d4e] => http://your_project/assets/grocery_crud/themes/flexigrid/css/flexigrid.css
)
)

Примечание: пожалуйста, убедитесь в том, что вы не используете grocery CRUD в функции index() вашего контроллера, так как это известная особенность работы библиотеки, и она не будет работать в index(). Просто используйте другие названия методов. Например, employees() или любое другое, но не index().

Шаг 6. Теперь перейдем к созданию нашего вью. Результаты, которые были получены на предыдущем этапе, мы можем использовать в дальнейшей работе grocery CRUD. Для этого нам нужно просто создать для них вью, который будет выглядеть следующим образом:

<!DOCTYPE html>
<html>
<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>
<div>
  <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/offices_management')?>'>Offices</a> |
  <a href='<?php echo site_url('examples/employees_management')?>'>Employees</a> |
  <a href='<?php echo site_url('examples/film_management')?>'>Films</a>
</div>
<div style='height:20px;'></div>
	<div>
  <?php echo $output; ?>
	</div>
</body>
</html>

Давайте скопируем и сохраним это в новом файле your_project/application/views/our_template.php, а затем вернемся в наш контроллер и добавим в него еще немного кода.

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

class Main extends CI_Controller {

public function __construct()
{
  parent::__construct();
  $this->load->database();
  $this->load->helper('url');
  $this->load->library('grocery_CRUD');
}

public function index()
{
  echo '<h1>Добро пожаловать в мир grocery CRUD!</h1>'; // Просто, чтобы убедиться, что наш контроллер работает
  die();
}

public function employees()
{
  $this->grocery_crud->set_table('employees');
  $output = $this->grocery_crud->render();
  $this->_example_output($output);
}

public function _example_output($output = null)
{
  $this->load->view('our_template', $output);
}
}

/* End of file main.php */
/* Location: ./application/controllers/main.php */

Перейдите на страницу http://your_project/.../mail/employees и вы увидите следующий результат:

Posted Image

Вот и все! Теперь можно идти на кухню за чашечкой кофе или чая, или бутылочкой пива (в зависимости от того, который сейчас час) и наслаждаться всеми возможностями grocery CRUD в своем проекте.

Чтобы продолжить знакомство с библиотекой, посмотрите примеры ее использования или можете сразу перейти к описанию методов/функций grocery CRUD.

Примечание: данная инструкция предназначена лишь для того, чтобы продемонстрировать, как установить grocery CRUD. Если у вас есть какие-либо вопросы, относительно работы CodeIgniter'а, например: "Как использовать вью?", пожалуйста, обратитесь к документации по фреймворку или задайте свой вопрос на форуме CodeIgniter'а.

Если grocery CRUD не работает. Вы можете ознакомиться с известными особенностями в работе библиотеки или найти ответ на форуме grocery CRUD. Если у вас никак не получается установить библиотеку, отправьте нам сообщение и обратитесь за поддержкой, мы ответим вам сразу, как только сможем.

Attached Thumbnails

  • ci-welcome.png
  • db-error.png
  • employees-example.png



#2733 Установка для CodeIgniter'а (Installation for CodeIgniter in Russian)

Posted noskov on 16 July 2012 - 09:14 PM

Установка библиотеки очень проста. Вы просто копируете все файлы в свой проект и уже можете работать с grocery CRUD.

В результате установки структура ваших файлов должна выглядеть следующим образом (ниже приведен пример стандартной структуры папок CodeIgniter'а без каких-либо изменений):

website_folder/
–––– application/
–––––––– config/
–––––––––––– autoload.php
–––––––––––– ...
–––––––––––– foreign_chars.php
–––––––––––– grocery_crud.php
–––––––––––– hooks.php
–––––––––––– ...
–––––––––––– user_agent.php
–––––––– controllers/
–––––––––––– examples.php
–––––––––––– index.html
–––––––––––– welcome.php
–––––––– libraries/
–––––––––––– grocery_crud.php
–––––––––––– image_moo.php
–––––––––––– index.html
–––––––– models/
–––––––––––– grocery_crud_model.php
–––––––––––– index.html
–––––––– views/
–––––––––––– example.php
–––––––––––– index.html
–––––––––––– welcome_message.php
–––– assets/
–––––––– grocery_crud/
–––––––––––– css/
–––––––––––– js/
–––––––––––– texteditor/
–––––––––––– themes/
–––––––– uploads/
–––––––– index.html
–––– system/
–––– user_guide/
–––– change_log.txt
–––– example_database.sql
–––– index.php
–––– licence-gpl3.txt
–––– licence-grocery-crud.txt
–––– licence-mit.txt
–––– license.txt


Примечание для CI 1.7.x: Единственное различие между версиями CodeIgniter'а 2.0.х и CodeIgniter'а 1.7.x заключается в том, что в версиях 1.7.х в своих контроллерах вы расширяете Controller, а не CI_Controller и в grocery_crud_model вы расширяете не CI_Model, а просто Model. И на всякий случай проверьте, чтобы папка /application/ находилась в нужном месте, учитывая особенности CI 1.7.x.

Ниже приведен пример того, каким образом выглядит контроллер:

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

class Examples extends CI_Controller {

  function __construct()
  {
   parent::__construct();

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

   $this->load->library('grocery_CRUD');
  }

  function _example_output($output = null)
  {
   $this->load->view('example', $output);
  }

  function offices()
  {
   $output = $this->grocery_crud->render();

   $this->_example_output($output);
  }

  ...

}

Для работы grocery CRUD нужна только библиотека базы данных (которая чаще всего подключается в автозагрузке) и урл-хелпер.

Переменная $output — это объект, который всегда содержит следующие составляющие: output, js_files и css_files. Ниже можно увидеть print_r-пример переменной $output.

stdClass Object (
  [output] => Здесь будут ваши данные.
  [js_files] => Array (
	[6b63be097451dbb96a950604e9a72faddca0131a] => http://your_project/assets/grocery_crud/js/jquery-1.7.1.min.js
	[2d2b031fb606852768dc4c9a3c457545558cc924] => http://your_project/assets/grocery_crud/themes/flexigrid/js/cookies.js
	[6629a324ade6d489aff77292cb02e31d9188a6bb] => http://your_project/assets/grocery_crud/themes/flexigrid/js/flexigrid.js
	[f32759f44ae94dad1a17f0b37a77f4085f415e18] => http://your_project/assets/grocery_crud/themes/flexigrid/js/jquery.form.js
	[0e49c025c7181e38222132fd81db98f418071bf4] => http://your_project/assets/grocery_crud/themes/flexigrid/js/jquery.numeric.js
)
  [css_files] => Array (
	[f1731e27afe02ab899b16daf8ae4a5ac8ac05d4e] => http://your_project/assets/grocery_crud/themes/flexigrid/css/flexigrid.css
  )
)

Вью example.php — это простой вью CodeIgniter'а со следующим содержанием:

<!DOCTYPE html>
<html>
<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>
<div>
  <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/offices_management')?>'>Offices</a> |
  <a href='<?php echo site_url('examples/employees_management')?>'>Employees</a> |
  <a href='<?php echo site_url('examples/film_management')?>'>Films</a>
</div>
<div style='height:20px;'></div>
	<div>
  <?php echo $output; ?>
	</div>
</body>
</html>


Вот и все! Можно праздновать — теперь вся сила grocery CRUD в вашем проекте и в ваших руках! Сейчас самое время перейти к примерам использования библиотеки или сразу к описаниям методов и функций grocery CRUD.

Если у вас что-то не работает или работает не так, вы всегда можете обратиться к пошаговой инструкции для новичков.

Кроме того, вы можете ознакомиться с уже известными особенностями в работе библиотеки или получить ответ на интересующий вас вопрос на форуме grocery CRUD.

Если у вас до сих пор не получается установить библиотеку, отправьте нам сообщение и обратитесь за поддержкой, мы ответим вам сразу, как только сможем.


#2581 Problem with Set_relation / Where

Posted noskov on 07 July 2012 - 06:29 AM

Hi!

I have played a little bit with you data. And make a fresh instalation of CodeIgniter-2.1.2 and the latest version of grocery CRUD from Github. Here it is your function ny_nbc_match()  with few changes. It works at my local machine well:

for_swede.png

public function ny_nbc_match()
{
//$id = $_GET['lag'];
$lag = $this->db->select('ny_nbc_lag_id')->get_where('ny_nbc_lag', array('ny_nbc_lag_namn' => 'NBC BC C'))->row();
//print_r($lag->ny_nbc_lag_id); exit();

$crud = new grocery_crud();

$crud->set_table('ny_nbc_match');
$crud->set_subject('match');
 
$crud->display_as('ny_nbc_match_date','Matchdatum');
$crud->display_as('ny_nbc_match_season_id','S&auml;song');
$crud->display_as('ny_nbc_match_hall_id','Hall');
$crud->display_as('ny_nbc_match_lag_id','Lag');

$crud->required_fields('ny_nbc_match_date', 'ny_nbc_match_season_id', 'ny_nbc_match_lag_id', 'ny_nbc_match_hall_id');
 
$crud->order_by('ny_nbc_match.ny_nbc_match_date', 'asc');
$crud->where('ny_nbc_match.ny_nbc_match_lag_id', $lag->ny_nbc_lag_id);

$crud->set_relation('ny_nbc_match_lag_id', 'ny_nbc_lag', 'ny_nbc_lag_namn', array('ny_nbc_lag_id' => $lag->ny_nbc_lag_id), 'ny_nbc_lag_namn ASC');
 
$crud->set_relation('ny_nbc_match_season_id', 'ny_nbc_season', 'ny_nbc_season_namn', null, 'ny_nbc_season_namn DESC');
$crud->set_relation('ny_nbc_match_hall_id', 'ny_nbc_hallar', 'ny_nbc_hallar_namn', null, 'ny_nbc_hallar_namn ASC');

$output = $crud->render();
$this->_example_output($output);
}

Is it works as expected for you?

P.S. It's just my opinion: but I had some strange behaviour of CI-2.1.1 even without Grocery. So, please, try it with the latest Grocery and CI-2.1.0 or CI-2.1.2. If you want I can send you my app with your function.