Tengo esta libreria:
Código:
y esta funcion en un controlador:<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); class cartas{ function __construct() { $this->ci =& get_instance(); $this->ci->load->library('session'); $this->ci->load->library('tank_auth'); $this->ci->load->library('jugador'); $this->ci->load->database(); } var $jugadores = array(); public function barajar ($partida_id){ $this->ci->db->select('*'); $this->ci->db->from('cartas'); $this->ci->db->order_by('id','RANDOM'); $this->ci->db->limit(6); $cartas = $this->ci->db->get()->result(); $c = 0; foreach ($cartas as $carta) { if($c <= 2){ $jugadores[JUGADOR_1][$partida_id][$carta->id] = $carta; //seteo el status de cada carta a 0 $jugadores[JUGADOR_1][$partida_id][$carta->id]->status = 0; } if($c > 2){ $jugadores[JUGADOR_2][$partida_id][$carta->id] = $carta; //seteo el status de cada carta a 0 $jugadores[JUGADOR_2][$partida_id][$carta->id]->status = 0; } $c++; } return $jugadores; } public function getCartas(){ global $jugadores; return $jugadores; } }
Código:
y por ultimo en mi vista tengofunction traerCartas(){ $data['cartas'] = $this->cartas->getCartas(); $this->load->view('juego/mis-cartas', $data); }
Código:
Basicamente lo que necesito hacer es cargar en el div .mis-cartas por ajax lo que me devuelva el controlador, que a su vez se comunica con la liberira.<script type="text/javascript"> $(document).ready(function(){ $(".mis-cartas").load('<?=base_url();?>index.php/dashboard/traerCartas'); }); </script>
Todo funcion correctamente, el tema es que al parecer cuando hace el load vuelve ac cargar el controlador y pisa la variable $jugadores, retornando null.